On Mon, Feb 06, 2017 at 04:58:38PM -0800, Cameron Gutman wrote:
> Set the LED_CORE_SUSPENDRESUME flag on our LED device so the
> LED state will be automatically restored by LED core on resume.
> 
> Since Xbox One pads stop flashing only when reinitialized, we'll
> send them the initialization packet so they calm down too.
> 
> Signed-off-by: Cameron Gutman <aicomman...@gmail.com>

Applied, thank you.

> ---
> Sending this one alone, since the rest of the series was applied or
> needs non-trivial reworking.
> 
> Thanks,
> Cameron
> 
> ---
>  drivers/input/joystick/xpad.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index 13975aa..18697f1 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -1240,6 +1240,7 @@ static int xpad_led_probe(struct usb_xpad *xpad)
>       led_cdev = &led->led_cdev;
>       led_cdev->name = led->name;
>       led_cdev->brightness_set = xpad_led_set;
> +     led_cdev->flags = LED_CORE_SUSPENDRESUME;
>  
>       error = led_classdev_register(&xpad->udev->dev, led_cdev);
>       if (error)
> @@ -1716,8 +1717,16 @@ static int xpad_resume(struct usb_interface *intf)
>               retval = xpad360w_start_input(xpad);
>       } else {
>               mutex_lock(&input->mutex);
> -             if (input->users)
> +             if (input->users) {
>                       retval = xpad_start_input(xpad);
> +             } else if (xpad->xtype == XTYPE_XBOXONE) {
> +                     /*
> +                      * Even if there are no users, we'll send Xbox One pads
> +                      * the startup sequence so they don't sit there and
> +                      * blink until somebody opens the input device again.
> +                      */
> +                     retval = xpad_start_xbox_one(xpad);
> +             }
>               mutex_unlock(&input->mutex);
>       }
>  
> -- 
> 2.9.3
> 

-- 
Dmitry

Reply via email to