2024-01-15 14:54:18

by Max Staudt

[permalink] [raw]
Subject: [PATCH v1 3/7] HID: playstation: DS4: Don't fail on FW/HW version request

Some third-party controllers can't report firmware/hardware version.

Unlike for the DualSense, the driver does not use these values for
anything in the DualShock 4 case, but merely exposes them via sysfs.
They will simply be 0x0.

Signed-off-by: Max Staudt <[email protected]>
---
drivers/hid/hid-playstation.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/hid-playstation.c b/drivers/hid/hid-playstation.c
index 0a3c442af305..12321cae4416 100644
--- a/drivers/hid/hid-playstation.c
+++ b/drivers/hid/hid-playstation.c
@@ -2561,7 +2561,7 @@ static struct ps_device *dualshock4_create(struct hid_device *hdev)
ret = dualshock4_get_firmware_info(ds4);
if (ret) {
hid_err(hdev, "Failed to get firmware info from DualShock4\n");
- return ERR_PTR(ret);
+ hid_err(hdev, "HW/FW version data in sysfs will be invalid.\n");
}

ret = ps_devices_list_add(ps_dev);
--
2.39.2



2024-01-25 00:44:07

by Roderick Colenbrander

[permalink] [raw]
Subject: Re: [PATCH v1 3/7] HID: playstation: DS4: Don't fail on FW/HW version request

On Mon, Jan 15, 2024 at 6:51 AM Max Staudt <[email protected]> wrote:
>
> Some third-party controllers can't report firmware/hardware version.
>
> Unlike for the DualSense, the driver does not use these values for
> anything in the DualShock 4 case, but merely exposes them via sysfs.
> They will simply be 0x0.
>
> Signed-off-by: Max Staudt <[email protected]>
> ---
> drivers/hid/hid-playstation.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hid/hid-playstation.c b/drivers/hid/hid-playstation.c
> index 0a3c442af305..12321cae4416 100644
> --- a/drivers/hid/hid-playstation.c
> +++ b/drivers/hid/hid-playstation.c
> @@ -2561,7 +2561,7 @@ static struct ps_device *dualshock4_create(struct hid_device *hdev)
> ret = dualshock4_get_firmware_info(ds4);
> if (ret) {
> hid_err(hdev, "Failed to get firmware info from DualShock4\n");
> - return ERR_PTR(ret);
> + hid_err(hdev, "HW/FW version data in sysfs will be invalid.\n");
> }
>
> ret = ps_devices_list_add(ps_dev);
> --
> 2.39.2
>
>

This looks good. Perhaps could have been a hid_warn then, but err is
probably fine.

Roderick

2024-01-27 08:56:26

by Max Staudt

[permalink] [raw]
Subject: Re: [PATCH v1 3/7] HID: playstation: DS4: Don't fail on FW/HW version request

On 1/25/24 09:43, Roderick Colenbrander wrote:
> On Mon, Jan 15, 2024 at 6:51 AM Max Staudt <[email protected]> wrote:
>>
>> ret = dualshock4_get_firmware_info(ds4);
>> if (ret) {
>> hid_err(hdev, "Failed to get firmware info from DualShock4\n");
>> - return ERR_PTR(ret);
>> + hid_err(hdev, "HW/FW version data in sysfs will be invalid.\n");
>> }
>
> This looks good. Perhaps could have been a hid_warn then, but err is
> probably fine.

I didn't think about it and kept the hid_err that was already there :)

I agree, and maybe we can take this further: If this code block is not a fatal error anymore, maybe it makes sense to change *both* lines to hid_warn?

If you prefer this, then I'll update the other patches accordingly.


Max