Loading init/devices.cpp +14 −16 Original line number Diff line number Diff line Loading @@ -386,8 +386,11 @@ void DeviceHandler::HandleDeviceEvent(const Uevent& uevent) { if (StartsWith(uevent.path, "/devices")) { links = GetBlockDeviceSymlinks(uevent); } } else if (StartsWith(uevent.subsystem, "usb")) { if (uevent.subsystem == "usb") { } else if (const auto subsystem = std::find(subsystems_.cbegin(), subsystems_.cend(), uevent.subsystem); subsystem != subsystems_.cend()) { devpath = subsystem->ParseDevPath(uevent); } else if (uevent.subsystem == "usb") { if (!uevent.device_name.empty()) { devpath = "/dev/" + uevent.device_name; } else { Loading @@ -398,14 +401,9 @@ void DeviceHandler::HandleDeviceEvent(const Uevent& uevent) { int device_id = uevent.minor % 128 + 1; devpath = StringPrintf("/dev/bus/usb/%03d/%03d", bus_id, device_id); } } else { } else if (StartsWith(uevent.subsystem, "usb")) { // ignore other USB events return; } } else if (const auto subsystem = std::find(subsystems_.cbegin(), subsystems_.cend(), uevent.subsystem); subsystem != subsystems_.cend()) { devpath = subsystem->ParseDevPath(uevent); } else { devpath = "/dev/" + Basename(uevent.path); } Loading init/devices.h +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class Subsystem { friend class SubsystemParser; Subsystem() {} Subsystem(std::string name) : name_(std::move(name)) {} // Returns the full path for a uevent of a device that is a member of this subsystem, // according to the rules parsed from ueventd.rc Loading init/ueventd_parser.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ Result<Success> SubsystemParser::ParseSection(std::vector<std::string>&& args, return Error() << "ignoring duplicate subsystem entry"; } subsystem_.name_ = args[1]; subsystem_ = Subsystem(std::move(args[1])); return Success(); } Loading Loading
init/devices.cpp +14 −16 Original line number Diff line number Diff line Loading @@ -386,8 +386,11 @@ void DeviceHandler::HandleDeviceEvent(const Uevent& uevent) { if (StartsWith(uevent.path, "/devices")) { links = GetBlockDeviceSymlinks(uevent); } } else if (StartsWith(uevent.subsystem, "usb")) { if (uevent.subsystem == "usb") { } else if (const auto subsystem = std::find(subsystems_.cbegin(), subsystems_.cend(), uevent.subsystem); subsystem != subsystems_.cend()) { devpath = subsystem->ParseDevPath(uevent); } else if (uevent.subsystem == "usb") { if (!uevent.device_name.empty()) { devpath = "/dev/" + uevent.device_name; } else { Loading @@ -398,14 +401,9 @@ void DeviceHandler::HandleDeviceEvent(const Uevent& uevent) { int device_id = uevent.minor % 128 + 1; devpath = StringPrintf("/dev/bus/usb/%03d/%03d", bus_id, device_id); } } else { } else if (StartsWith(uevent.subsystem, "usb")) { // ignore other USB events return; } } else if (const auto subsystem = std::find(subsystems_.cbegin(), subsystems_.cend(), uevent.subsystem); subsystem != subsystems_.cend()) { devpath = subsystem->ParseDevPath(uevent); } else { devpath = "/dev/" + Basename(uevent.path); } Loading
init/devices.h +1 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ class Subsystem { friend class SubsystemParser; Subsystem() {} Subsystem(std::string name) : name_(std::move(name)) {} // Returns the full path for a uevent of a device that is a member of this subsystem, // according to the rules parsed from ueventd.rc Loading
init/ueventd_parser.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ Result<Success> SubsystemParser::ParseSection(std::vector<std::string>&& args, return Error() << "ignoring duplicate subsystem entry"; } subsystem_.name_ = args[1]; subsystem_ = Subsystem(std::move(args[1])); return Success(); } Loading