diff mbox series

HID: Enable playstation driver independently of sony driver

Message ID 20250205202532.2586-1-dhenrale@amazon.com
State Superseded
Headers show
Series HID: Enable playstation driver independently of sony driver | expand

Commit Message

Alex Henrie Feb. 5, 2025, 8:25 p.m. UTC
PlayStation 4 controllers use the hid-playstation driver now, but they
are still not included in the hid_have_special_driver table unless the
hid-sony driver is enabled. Split up that section of the table so that
hid-playstation works even in the absence of hid-sony.

Fixes: 4f1f391869ee ("HID: sony: remove DualShock4 support.")
Signed-off-by: Alex Henrie <dhenrale@amazon.com>
---
 drivers/hid/hid-quirks.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

Comments

Roderick Colenbrander Feb. 5, 2025, 9:24 p.m. UTC | #1
Hi Alex,

The change in general looks good to me. It had been an oversight.
While add it, I guess also include the PS5 controllers in that list as
well.

Thanks,
Roderick Colenbrander

On Wed, Feb 5, 2025 at 12:28 PM Alex Henrie <dhenrale@amazon.com> wrote:
>
> PlayStation 4 controllers use the hid-playstation driver now, but they
> are still not included in the hid_have_special_driver table unless the
> hid-sony driver is enabled. Split up that section of the table so that
> hid-playstation works even in the absence of hid-sony.
>
> Fixes: 4f1f391869ee ("HID: sony: remove DualShock4 support.")
> Signed-off-by: Alex Henrie <dhenrale@amazon.com>
> ---
>  drivers/hid/hid-quirks.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> index e0bbf0c6345d..ff23a7ac7001 100644
> --- a/drivers/hid/hid-quirks.c
> +++ b/drivers/hid/hid-quirks.c
> @@ -595,6 +595,13 @@ static const struct hid_device_id hid_have_special_driver[] = {
>  #if IS_ENABLED(CONFIG_HID_PLANTRONICS)
>         { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
>  #endif
> +#if IS_ENABLED(CONFIG_HID_PLAYSTATION)
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
> +       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
> +       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE) },
> +#endif
>  #if IS_ENABLED(CONFIG_HID_PRIMAX)
>         { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
>  #endif
> @@ -664,11 +671,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
>         { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_BDREMOTE) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
>         { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
> -       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
> -       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
> -       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
> -       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
> -       { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SINO_LITE, USB_DEVICE_ID_SINO_LITE_CONTROLLER) },
> --
> 2.46.0
>
>
Jiri Kosina Feb. 7, 2025, 12:17 p.m. UTC | #2
On Wed, 5 Feb 2025, Roderick Colenbrander wrote:

> Hi Alex,
> 
> The change in general looks good to me. It had been an oversight.
> While add it, I guess also include the PS5 controllers in that list as
> well.

Can I take this as your

	Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>

? I can do the PS5 change myself on top.

Thanks,
Jiri Kosina Feb. 7, 2025, 12:27 p.m. UTC | #3
On Fri, 7 Feb 2025, Jiri Kosina wrote:

> On Wed, 5 Feb 2025, Roderick Colenbrander wrote:
> 
> > Hi Alex,
> > 
> > The change in general looks good to me. It had been an oversight.
> > While add it, I guess also include the PS5 controllers in that list as
> > well.
> 
> Can I take this as your
> 
> 	Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
> 
> ? I can do the PS5 change myself on top.

Nevermind, I see now that Alex sent that one as a followup already. Can I 
stick your Ack above to both of them, then?

Thanks,
Roderick Colenbrander Feb. 8, 2025, 3:30 a.m. UTC | #4
On Fri, Feb 7, 2025 at 4:27 AM Jiri Kosina <jikos@kernel.org> wrote:
>
> On Fri, 7 Feb 2025, Jiri Kosina wrote:
>
> > On Wed, 5 Feb 2025, Roderick Colenbrander wrote:
> >
> > > Hi Alex,
> > >
> > > The change in general looks good to me. It had been an oversight.
> > > While add it, I guess also include the PS5 controllers in that list as
> > > well.
> >
> > Can I take this as your
> >
> >       Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
> >
> > ? I can do the PS5 change myself on top.
>
> Nevermind, I see now that Alex sent that one as a followup already. Can I
> stick your Ack above to both of them, then?
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>

Hi Jiri,
Please consider it an Ack for both patches:
Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>

Thanks,
Roderick Colenbrander
Jiri Kosina Feb. 8, 2025, 7:42 p.m. UTC | #5
On Thu, 6 Feb 2025, Alex Henrie wrote:

> Changes from v1:
> - Add a second patch to enable the hid-playstation driver for PS5
>   controllers
> 
> Thanks to Roderick for your feedback.
> 
> Alex Henrie (2):
>   HID: Enable playstation driver independently of sony driver
>   HID: Enable playstation driver for PlayStation 5 controllers
> 
>  drivers/hid/hid-quirks.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)

Both now applied to hid.git#for-6.15/sony. Thanks,
diff mbox series

Patch

diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index e0bbf0c6345d..ff23a7ac7001 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -595,6 +595,13 @@  static const struct hid_device_id hid_have_special_driver[] = {
 #if IS_ENABLED(CONFIG_HID_PLANTRONICS)
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
 #endif
+#if IS_ENABLED(CONFIG_HID_PLAYSTATION)
+	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE) },
+#endif
 #if IS_ENABLED(CONFIG_HID_PRIMAX)
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
 #endif
@@ -664,11 +671,6 @@  static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_BDREMOTE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
-	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
-	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_2) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_SINO_LITE, USB_DEVICE_ID_SINO_LITE_CONTROLLER) },