service/nvdrv: Take std::string in Open() by const reference
Avoids copies from being made, since the string is only ever used for lookup, the data is never transfered anywhere. Ideally, we'd use a std::string_view here, but devices is a std::unordered_map, not a std::map, so we can't use heterogenous lookup here.
This commit is contained in:
		@@ -42,7 +42,7 @@ Module::Module() {
 | 
			
		||||
    devices["/dev/nvhost-nvdec"] = std::make_shared<Devices::nvhost_nvdec>();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 Module::Open(std::string device_name) {
 | 
			
		||||
u32 Module::Open(const std::string& device_name) {
 | 
			
		||||
    ASSERT_MSG(devices.find(device_name) != devices.end(), "Trying to open unknown device {}",
 | 
			
		||||
               device_name);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ public:
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Opens a device node and returns a file descriptor to it.
 | 
			
		||||
    u32 Open(std::string device_name);
 | 
			
		||||
    u32 Open(const std::string& device_name);
 | 
			
		||||
    /// Sends an ioctl command to the specified file descriptor.
 | 
			
		||||
    u32 Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output);
 | 
			
		||||
    /// Closes a device file descriptor and returns operation success.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user