Re: [PATCH v4 2/2] HID: sony: Fix SHANWAN PS3 GamePad rumble and led settings support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 9, 2019 at 2:18 AM Hongye Yuan <outmatch@xxxxxxxxx> wrote:
>
> Rumble support on SHANWAN PS3 gamepad is not working when a user
> program has asked it to. If a HID Output Reports is sent via Control
> Channel then it will be discard by gamepad, thus rumble motor and led
> settings in Output Report are ignored.
>
> This patch therefore sends HID Output Report via Interrupt Channel to
> SHANWAN gamepad instead of Control Channel, fixing rumble motor and
> led settings.
>
> Signed-off-by: Hongye Yuan <outmatch@xxxxxxxxx>
>
> ---
>  Changes in v4:
>   - Explain what this patch fixes in detail.

Both patches applied to for-5.1/hid-sony

Thanks for quickly respinning the series.

Cheers,
Benjamin

> ---
>  drivers/hid/hid-sony.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
> index fc82f02bae75..26fae90b931a 100644
> --- a/drivers/hid/hid-sony.c
> +++ b/drivers/hid/hid-sony.c
> @@ -2100,9 +2100,14 @@ static void sixaxis_send_output_report(struct sony_sc *sc)
>                 }
>         }
>
> -       hid_hw_raw_request(sc->hdev, report->report_id, (u8 *)report,
> -                       sizeof(struct sixaxis_output_report),
> -                       HID_OUTPUT_REPORT, HID_REQ_SET_REPORT);
> +       /* SHANWAN controllers require output reports via intr channel */
> +       if (sc->quirks & SHANWAN_GAMEPAD)
> +               hid_hw_output_report(sc->hdev, (u8 *)report,
> +                               sizeof(struct sixaxis_output_report));
> +       else
> +               hid_hw_raw_request(sc->hdev, report->report_id, (u8 *)report,
> +                               sizeof(struct sixaxis_output_report),
> +                               HID_OUTPUT_REPORT, HID_REQ_SET_REPORT);
>  }
>
>  static void dualshock4_send_output_report(struct sony_sc *sc)
> --
> 2.20.1
>



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux