Snap for 12199973 from 0c1f69415f to 24Q4-release

Change-Id: I30a6abcb4d0e4a1886ed3247ffdee6930db79e5e
This commit is contained in:
Android Build Coastguard Worker 2024-08-08 01:01:58 +00:00
commit 2dc1bff8c2

View file

@ -51,6 +51,7 @@ namespace usb_flags = android::hardware::usb::flags;
using aidl::android::frameworks::stats::IStats; using aidl::android::frameworks::stats::IStats;
using android::base::GetProperty; using android::base::GetProperty;
using android::base::ParseInt;
using android::base::Tokenize; using android::base::Tokenize;
using android::base::Trim; using android::base::Trim;
using android::hardware::google::pixel::getStatsService; using android::hardware::google::pixel::getStatsService;
@ -91,6 +92,8 @@ constexpr char kThermalZoneForTempReadPrimary[] = "usb_pwr_therm2";
constexpr char kThermalZoneForTempReadSecondary1[] = "usb_pwr_therm"; constexpr char kThermalZoneForTempReadSecondary1[] = "usb_pwr_therm";
constexpr char kThermalZoneForTempReadSecondary2[] = "qi_therm"; constexpr char kThermalZoneForTempReadSecondary2[] = "qi_therm";
constexpr char kPogoUsbActive[] = "/sys/devices/platform/google,pogo/pogo_usb_active"; constexpr char kPogoUsbActive[] = "/sys/devices/platform/google,pogo/pogo_usb_active";
constexpr char kPogoEnableHub[] = "/sys/devices/platform/google,pogo/enable_hub";
constexpr char kInternalHubDevnum[] = "/sys/bus/usb/devices/1-1/devnum";
constexpr char KPogoMoveDataToUsb[] = "/sys/devices/platform/google,pogo/move_data_to_usb"; constexpr char KPogoMoveDataToUsb[] = "/sys/devices/platform/google,pogo/move_data_to_usb";
constexpr char kPowerSupplyUsbType[] = "/sys/class/power_supply/usb/usb_type"; constexpr char kPowerSupplyUsbType[] = "/sys/class/power_supply/usb/usb_type";
constexpr char kUdcUeventRegex[] = constexpr char kUdcUeventRegex[] =
@ -471,11 +474,16 @@ bool switchMode(const string &portName, const PortRole &in_role, struct Usb *usb
return roleSwitch; return roleSwitch;
} }
static int usbDeviceRemoved(const char *devname, void* client_data) { static int getInternalHubUniqueId() {
return 0; string internalHubDevnum;
int devnum = 0, internalHubUniqueId = -1;
if (ReadFileToString(kInternalHubDevnum, &internalHubDevnum) &&
ParseInt(Trim(internalHubDevnum).c_str(), &devnum))
internalHubUniqueId = 1000 + devnum;
return internalHubUniqueId;
} }
static int usbDeviceAdded(const char *devname, void* client_data) { static Status tuneInternalHub(const char *devname, void* client_data) {
uint16_t vendorId, productId; uint16_t vendorId, productId;
struct usb_device *device; struct usb_device *device;
::aidl::android::hardware::usb::Usb *usb; ::aidl::android::hardware::usb::Usb *usb;
@ -484,7 +492,7 @@ static int usbDeviceAdded(const char *devname, void* client_data) {
device = usb_device_open(devname); device = usb_device_open(devname);
if (!device) { if (!device) {
ALOGE("usb_device_open failed\n"); ALOGE("usb_device_open failed\n");
return 0; return Status::ERROR;
} }
usb = (::aidl::android::hardware::usb::Usb *)client_data; usb = (::aidl::android::hardware::usb::Usb *)client_data;
@ -506,6 +514,26 @@ static int usbDeviceAdded(const char *devname, void* client_data) {
usb_device_close(device); usb_device_close(device);
return Status::SUCCESS;
}
static int usbDeviceRemoved(const char *devname, void* client_data) {
return 0;
}
static int usbDeviceAdded(const char *devname, void* client_data) {
string pogoEnableHub;
int uniqueId = 0;
// Enable hub tuning when the pogo dock is connected.
if (ReadFileToString(kPogoEnableHub, &pogoEnableHub) && Trim(pogoEnableHub) == "1") {
// If enable_hub is set to 1, the internal hub is the first enumearted device on bus 1 and
// port 1.
uniqueId = usb_device_get_unique_id_from_name(devname);
if (uniqueId == getInternalHubUniqueId())
tuneInternalHub(devname, client_data);
}
return 0; return 0;
} }