Loading init/init.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -444,6 +444,22 @@ static void selinux_initialize(bool in_kernel_domain) { } } // Set the UDC controller for the ConfigFS USB Gadgets. // Read the UDC controller in use from "/sys/class/udc". // In case of multiple UDC controllers select the first one. static void set_usb_controller() { std::unique_ptr<DIR, decltype(&closedir)>dir(opendir("/sys/class/udc"), closedir); if (!dir) return; dirent* dp; while ((dp = readdir(dir.get())) != nullptr) { if (dp->d_name[0] == '.') continue; property_set("sys.usb.controller", dp->d_name); break; } } int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "ueventd")) { return ueventd_main(argc, argv); Loading Loading @@ -536,6 +552,7 @@ int main(int argc, char** argv) { property_load_boot_defaults(); export_oem_lock_status(); start_property_service(); set_usb_controller(); const BuiltinFunctionMap function_map; Action::set_function_map(&function_map); Loading Loading
init/init.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -444,6 +444,22 @@ static void selinux_initialize(bool in_kernel_domain) { } } // Set the UDC controller for the ConfigFS USB Gadgets. // Read the UDC controller in use from "/sys/class/udc". // In case of multiple UDC controllers select the first one. static void set_usb_controller() { std::unique_ptr<DIR, decltype(&closedir)>dir(opendir("/sys/class/udc"), closedir); if (!dir) return; dirent* dp; while ((dp = readdir(dir.get())) != nullptr) { if (dp->d_name[0] == '.') continue; property_set("sys.usb.controller", dp->d_name); break; } } int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "ueventd")) { return ueventd_main(argc, argv); Loading Loading @@ -536,6 +552,7 @@ int main(int argc, char** argv) { property_load_boot_defaults(); export_oem_lock_status(); start_property_service(); set_usb_controller(); const BuiltinFunctionMap function_map; Action::set_function_map(&function_map); Loading