Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1575306

Re: [PATCH v2] Input: xpad - restore LED state after device resume

From Dmitry Torokhov <dmitry.torokhov@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2] Input: xpad - restore LED state after device resume
Date 2017-02-07 02:10 +0100
Message-ID <t82s9-4gx-21@gated-at.bofh.it> (permalink)
References <t82it-3XP-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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 <aicommander@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

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH v2] Input: xpad - restore LED state after device resume Cameron Gutman <aicommander@gmail.com> - 2017-02-07 02:00 +0100
  Re: [PATCH v2] Input: xpad - restore LED state after device resume Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-02-07 02:10 +0100

csiph-web