HID: logitech-hidpp: simplify printing of HID++ version

Simply always print the HID++ version on hidpp_root_get_protocol_version
success.

This also fixes the version not being printed when a HID++ device
connected through a receiver is already connected when the hidpp driver
is loaded.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Hans de Goede 2019-03-22 08:41:38 +01:00 committed by Jiri Kosina
parent c6400e5cef
commit 9576af6a95

View File

@ -847,7 +847,7 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp)
if (ret == HIDPP_ERROR_INVALID_SUBID) { if (ret == HIDPP_ERROR_INVALID_SUBID) {
hidpp->protocol_major = 1; hidpp->protocol_major = 1;
hidpp->protocol_minor = 0; hidpp->protocol_minor = 0;
return 0; goto print_version;
} }
/* the device might not be connected */ /* the device might not be connected */
@ -865,18 +865,15 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp)
hidpp->protocol_major = response.fap.params[0]; hidpp->protocol_major = response.fap.params[0];
hidpp->protocol_minor = response.fap.params[1]; hidpp->protocol_minor = response.fap.params[1];
return ret; print_version:
hid_info(hidpp->hid_dev, "HID++ %u.%u device connected.\n",
hidpp->protocol_major, hidpp->protocol_minor);
return 0;
} }
static bool hidpp_is_connected(struct hidpp_device *hidpp) static bool hidpp_is_connected(struct hidpp_device *hidpp)
{ {
int ret; return hidpp_root_get_protocol_version(hidpp) == 0;
ret = hidpp_root_get_protocol_version(hidpp);
if (!ret)
hid_dbg(hidpp->hid_dev, "HID++ %u.%u device connected.\n",
hidpp->protocol_major, hidpp->protocol_minor);
return ret == 0;
} }
/* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */
@ -3133,8 +3130,6 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
hid_err(hdev, "Can not get the protocol version.\n"); hid_err(hdev, "Can not get the protocol version.\n");
return; return;
} }
hid_info(hdev, "HID++ %u.%u device connected.\n",
hidpp->protocol_major, hidpp->protocol_minor);
} }
if (hidpp->name == hdev->name && hidpp->protocol_major >= 2) { if (hidpp->name == hdev->name && hidpp->protocol_major >= 2) {
@ -3291,9 +3286,6 @@ static int hidpp_probe(struct hid_device *hdev, const struct hid_device_id *id)
goto hid_hw_open_failed; goto hid_hw_open_failed;
} }
hid_info(hdev, "HID++ %u.%u device connected.\n",
hidpp->protocol_major, hidpp->protocol_minor);
hidpp_overwrite_name(hdev); hidpp_overwrite_name(hdev);
} }