diff --git a/manifest.xml b/manifest.xml
index 1abb8053..27526081 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -292,24 +292,6 @@
default
-
- android.hardware.usb
- hwbinder
- 1.1
-
- IUsb
- default
-
-
-
- android.hardware.usb.gadget
- hwbinder
- 1.0
-
- IUsbGadget
- default
-
-
android.hardware.weaver
hwbinder
diff --git a/usb/Android.bp b/usb/Android.bp
index aa58163a..d5fda661 100644
--- a/usb/Android.bp
+++ b/usb/Android.bp
@@ -16,6 +16,10 @@ cc_binary {
name: "android.hardware.usb@1.1-service.wahoo",
relative_install_path: "hw",
init_rc: ["android.hardware.usb@1.1-service.wahoo.rc"],
+ vintf_fragments: [
+ "android.hardware.usb@1.1-service.wahoo.xml",
+ "android.hardware.usb.gadget@1.1-service.wahoo.xml",
+ ],
srcs: ["service.cpp", "Usb.cpp", "UsbGadget.cpp"],
shared_libs: [
"libbase",
@@ -26,6 +30,7 @@ cc_binary {
"android.hardware.usb@1.0",
"android.hardware.usb@1.1",
"android.hardware.usb.gadget@1.0",
+ "android.hardware.usb.gadget@1.1",
"libcutils",
],
proprietary: true,
diff --git a/usb/UsbGadget.cpp b/usb/UsbGadget.cpp
index 2263da1a..e407c490 100644
--- a/usb/UsbGadget.cpp
+++ b/usb/UsbGadget.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.usb.gadget@1.0-service.wahoo"
+#define LOG_TAG "android.hardware.usb.gadget@1.1-service.wahoo"
#include "UsbGadget.h"
#include
@@ -57,7 +57,7 @@ namespace android {
namespace hardware {
namespace usb {
namespace gadget {
-namespace V1_0 {
+namespace V1_1 {
namespace implementation {
volatile bool gadgetPullup;
@@ -258,6 +258,15 @@ V1_0::Status UsbGadget::tearDownGadget() {
return Status::SUCCESS;
}
+Return UsbGadget::reset() {
+ if (!WriteStringToFile("none", PULLUP_PATH)) {
+ ALOGI("Gadget cannot be pulled down");
+ return Status::ERROR;
+ }
+
+ return Status::SUCCESS;
+}
+
static int linkFunction(const char *function, int index) {
char functionPath[MAX_FILE_PATH_LENGTH];
char link[MAX_FILE_PATH_LENGTH];
@@ -645,7 +654,7 @@ error:
return Void();
}
} // namespace implementation
-} // namespace V1_0
+} // namespace V1_1
} // namespace gadget
} // namespace usb
} // namespace hardware
diff --git a/usb/UsbGadget.h b/usb/UsbGadget.h
index 9a2c4dd3..3d302332 100644
--- a/usb/UsbGadget.h
+++ b/usb/UsbGadget.h
@@ -14,29 +14,28 @@
* limitations under the License.
*/
-#ifndef ANDROID_HARDWARE_USB_GADGET_V1_0_USBGADGET_H
-#define ANDROID_HARDWARE_USB_GADGET_V1_0_USBGADGET_H
+#pragma once
#include
#include
#include
-#include
+#include
#include
#include
-#include
#include
#include
-#include
#include
#include
#include
#include
+#include
+#include
namespace android {
namespace hardware {
namespace usb {
namespace gadget {
-namespace V1_0 {
+namespace V1_1 {
namespace implementation {
using ::android::sp;
@@ -50,6 +49,9 @@ using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::hardware::Void;
+using ::android::hardware::usb::gadget::V1_0::GadgetFunction;
+using ::android::hardware::usb::gadget::V1_0::Status;
+using ::android::hardware::usb::gadget::V1_1::IUsbGadget;
using ::std::lock_guard;
using ::std::move;
using ::std::mutex;
@@ -78,24 +80,22 @@ struct UsbGadget : public IUsbGadget {
bool mCurrentUsbFunctionsApplied;
Return setCurrentUsbFunctions(uint64_t functions,
- const sp& callback,
+ const sp &callback,
uint64_t timeout) override;
- Return getCurrentUsbFunctions(
- const sp& callback) override;
+ Return getCurrentUsbFunctions(const sp &callback) override;
- private:
+ Return reset() override;
+
+private:
Status tearDownGadget();
- Status setupFunctions(uint64_t functions,
- const sp& callback,
+ Status setupFunctions(uint64_t functions, const sp &callback,
uint64_t timeout);
};
} // namespace implementation
-} // namespace V1_0
+} // namespace V1_1
} // namespace gadget
} // namespace usb
} // namespace hardware
} // namespace android
-
-#endif // ANDROID_HARDWARE_USB_V1_2_USBGADGET_H
diff --git a/usb/android.hardware.usb.gadget@1.1-service.wahoo.xml b/usb/android.hardware.usb.gadget@1.1-service.wahoo.xml
new file mode 100644
index 00000000..a6f9a1f4
--- /dev/null
+++ b/usb/android.hardware.usb.gadget@1.1-service.wahoo.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.usb.gadget
+ hwbinder
+ 1.1
+
+ IUsbGadget
+ default
+
+
+
diff --git a/usb/android.hardware.usb@1.1-service.wahoo.xml b/usb/android.hardware.usb@1.1-service.wahoo.xml
new file mode 100644
index 00000000..5ce2ff45
--- /dev/null
+++ b/usb/android.hardware.usb@1.1-service.wahoo.xml
@@ -0,0 +1,12 @@
+
+
+ android.hardware.usb
+ hwbinder
+ 1.1
+
+ IUsb
+ default
+
+
+
+
diff --git a/usb/service.cpp b/usb/service.cpp
index e540608b..9162c22d 100644
--- a/usb/service.cpp
+++ b/usb/service.cpp
@@ -27,10 +27,10 @@ using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
// Generated HIDL files
+using android::hardware::usb::gadget::V1_1::IUsbGadget;
+using android::hardware::usb::gadget::V1_1::implementation::UsbGadget;
using android::hardware::usb::V1_1::IUsb;
-using android::hardware::usb::gadget::V1_0::IUsbGadget;
using android::hardware::usb::V1_1::implementation::Usb;
-using android::hardware::usb::gadget::V1_0::implementation::UsbGadget;
using android::OK;
using android::status_t;