|
@@ -461,7 +461,7 @@ static int hidpp_devicenametype_get_device_name(struct hidpp_device *hidpp,
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
-static char *hidpp_get_device_name(struct hidpp_device *hidpp, u8 *name_length)
|
|
|
+static char *hidpp_get_device_name(struct hidpp_device *hidpp)
|
|
|
{
|
|
|
u8 feature_type;
|
|
|
u8 feature_index;
|
|
@@ -473,28 +473,23 @@ static char *hidpp_get_device_name(struct hidpp_device *hidpp, u8 *name_length)
|
|
|
ret = hidpp_root_get_feature(hidpp, HIDPP_PAGE_GET_DEVICE_NAME_TYPE,
|
|
|
&feature_index, &feature_type);
|
|
|
if (ret)
|
|
|
- goto out_err;
|
|
|
+ return NULL;
|
|
|
|
|
|
ret = hidpp_devicenametype_get_count(hidpp, feature_index,
|
|
|
&__name_length);
|
|
|
if (ret)
|
|
|
- goto out_err;
|
|
|
+ return NULL;
|
|
|
|
|
|
name = kzalloc(__name_length + 1, GFP_KERNEL);
|
|
|
if (!name)
|
|
|
- goto out_err;
|
|
|
+ return NULL;
|
|
|
|
|
|
- *name_length = __name_length + 1;
|
|
|
while (index < __name_length)
|
|
|
index += hidpp_devicenametype_get_device_name(hidpp,
|
|
|
feature_index, index, name + index,
|
|
|
__name_length - index);
|
|
|
|
|
|
return name;
|
|
|
-
|
|
|
-out_err:
|
|
|
- *name_length = 0;
|
|
|
- return NULL;
|
|
|
}
|
|
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
@@ -989,7 +984,6 @@ static void hidpp_overwrite_name(struct hid_device *hdev, bool use_unifying)
|
|
|
{
|
|
|
struct hidpp_device *hidpp = hid_get_drvdata(hdev);
|
|
|
char *name;
|
|
|
- u8 name_length;
|
|
|
|
|
|
if (use_unifying)
|
|
|
/*
|
|
@@ -999,7 +993,7 @@ static void hidpp_overwrite_name(struct hid_device *hdev, bool use_unifying)
|
|
|
*/
|
|
|
name = hidpp_get_unifying_name(hidpp);
|
|
|
else
|
|
|
- name = hidpp_get_device_name(hidpp, &name_length);
|
|
|
+ name = hidpp_get_device_name(hidpp);
|
|
|
|
|
|
if (!name)
|
|
|
hid_err(hdev, "unable to retrieve the name of the device");
|
|
@@ -1053,7 +1047,6 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
|
|
|
bool connected = atomic_read(&hidpp->connected);
|
|
|
struct input_dev *input;
|
|
|
char *name, *devm_name;
|
|
|
- u8 name_length;
|
|
|
|
|
|
if (hidpp->quirks & HIDPP_QUIRK_CLASS_WTP)
|
|
|
wtp_connect(hdev, connected);
|
|
@@ -1080,7 +1073,7 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- name = hidpp_get_device_name(hidpp, &name_length);
|
|
|
+ name = hidpp_get_device_name(hidpp);
|
|
|
if (!name) {
|
|
|
hid_err(hdev, "unable to retrieve the name of the device");
|
|
|
} else {
|