Loading usb/usb/Usb.cpp +23 −20 Original line number Diff line number Diff line Loading @@ -61,41 +61,42 @@ ScopedAStatus Usb::enableUsbData(const string& in_portName, bool in_enable, int64_t in_transactionId) { bool result = true; std::vector<PortStatus> currentPortStatus; string pullup; ALOGI("Userspace turn %s USB data signaling. opID:%ld", in_enable ? "on" : "off", in_transactionId); if (in_enable) { if (!WriteStringToFile("1", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } if (ReadFileToString(PULLUP_PATH, &pullup)) { pullup = Trim(pullup); if (pullup != kGadgetName) { if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) { ALOGE("Gadget cannot be pulled up"); result = false; } } else { if (!WriteStringToFile("1", ID_PATH)) { ALOGE("Not able to turn off host mode"); result = false; } if (!WriteStringToFile("0", VBUS_PATH)) { ALOGE("Not able to set Vbus state"); result = false; } if (!WriteStringToFile("0", USB_DATA_PATH)) { if (!WriteStringToFile("1", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } } else { if (ReadFileToString(PULLUP_PATH, &pullup)) { pullup = Trim(pullup); if (pullup == kGadgetName) { if (!WriteStringToFile("none", PULLUP_PATH)) { ALOGE("Gadget cannot be pulled down"); result = false; } } } if (!WriteStringToFile("0", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } } if (result) { mUsbDataEnabled = in_enable; Loading Loading @@ -367,7 +368,8 @@ Usb::Usb() : mLock(PTHREAD_MUTEX_INITIALIZER), mRoleSwitchLock(PTHREAD_MUTEX_INITIALIZER), mPartnerLock(PTHREAD_MUTEX_INITIALIZER), mPartnerUp(false) { mPartnerUp(false), mUsbDataEnabled(true) { pthread_condattr_t attr; if (pthread_condattr_init(&attr)) { ALOGE("pthread_condattr_init failed: %s", strerror(errno)); Loading Loading @@ -627,6 +629,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb, done: return Status::ERROR; } Status queryPowerTransferStatus(std::vector<PortStatus> *currentPortStatus) { string enabled; Loading usb/usb/Usb.h +0 −2 Original line number Diff line number Diff line Loading @@ -43,11 +43,9 @@ using ::std::shared_ptr; using ::std::string; constexpr char kGadgetName[] = "a600000.dwc3"; #define ID_PATH SOC_PATH "id" #define PULLUP_PATH "/config/usb_gadget/g1/UDC" #define SOC_PATH "/sys/devices/platform/soc/a600000.ssusb/" #define USB_DATA_PATH SOC_PATH "usb_data_enabled" #define VBUS_PATH SOC_PATH "b_sess" #define USB_POWER_LIMIT_PATH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/" #define SINK_CURRENT_LIMIT_PATH USB_POWER_LIMIT_PATH "usb_limit_sink_current" Loading Loading
usb/usb/Usb.cpp +23 −20 Original line number Diff line number Diff line Loading @@ -61,41 +61,42 @@ ScopedAStatus Usb::enableUsbData(const string& in_portName, bool in_enable, int64_t in_transactionId) { bool result = true; std::vector<PortStatus> currentPortStatus; string pullup; ALOGI("Userspace turn %s USB data signaling. opID:%ld", in_enable ? "on" : "off", in_transactionId); if (in_enable) { if (!WriteStringToFile("1", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } if (ReadFileToString(PULLUP_PATH, &pullup)) { pullup = Trim(pullup); if (pullup != kGadgetName) { if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) { ALOGE("Gadget cannot be pulled up"); result = false; } } else { if (!WriteStringToFile("1", ID_PATH)) { ALOGE("Not able to turn off host mode"); result = false; } if (!WriteStringToFile("0", VBUS_PATH)) { ALOGE("Not able to set Vbus state"); result = false; } if (!WriteStringToFile("0", USB_DATA_PATH)) { if (!WriteStringToFile("1", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } } else { if (ReadFileToString(PULLUP_PATH, &pullup)) { pullup = Trim(pullup); if (pullup == kGadgetName) { if (!WriteStringToFile("none", PULLUP_PATH)) { ALOGE("Gadget cannot be pulled down"); result = false; } } } if (!WriteStringToFile("0", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } } if (result) { mUsbDataEnabled = in_enable; Loading Loading @@ -367,7 +368,8 @@ Usb::Usb() : mLock(PTHREAD_MUTEX_INITIALIZER), mRoleSwitchLock(PTHREAD_MUTEX_INITIALIZER), mPartnerLock(PTHREAD_MUTEX_INITIALIZER), mPartnerUp(false) { mPartnerUp(false), mUsbDataEnabled(true) { pthread_condattr_t attr; if (pthread_condattr_init(&attr)) { ALOGE("pthread_condattr_init failed: %s", strerror(errno)); Loading Loading @@ -627,6 +629,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb, done: return Status::ERROR; } Status queryPowerTransferStatus(std::vector<PortStatus> *currentPortStatus) { string enabled; Loading
usb/usb/Usb.h +0 −2 Original line number Diff line number Diff line Loading @@ -43,11 +43,9 @@ using ::std::shared_ptr; using ::std::string; constexpr char kGadgetName[] = "a600000.dwc3"; #define ID_PATH SOC_PATH "id" #define PULLUP_PATH "/config/usb_gadget/g1/UDC" #define SOC_PATH "/sys/devices/platform/soc/a600000.ssusb/" #define USB_DATA_PATH SOC_PATH "usb_data_enabled" #define VBUS_PATH SOC_PATH "b_sess" #define USB_POWER_LIMIT_PATH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/" #define SINK_CURRENT_LIMIT_PATH USB_POWER_LIMIT_PATH "usb_limit_sink_current" Loading