All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, arnd@arndb.de,
	linus.walleij@stericsson.com,
	Jonas Aaberg <jonas.aberg@stericsson.com>,
	linux-input@vger.kernel.org,
	Philippe Langlais <philippe.langlais@linaro.org>
Subject: Re: [PATCH 1/2] input: gpio-keys: Disable hardware on suspend
Date: Mon, 26 Nov 2012 09:05:03 +0000	[thread overview]
Message-ID: <20121126090503.GB12782@gmail.com> (raw)
In-Reply-To: <20121125083229.GB21091@core.coreip.homeip.net>

> On Thu, Nov 22, 2012 at 01:23:36PM +0000, Lee Jones wrote:
> > From: Jonas Aaberg <jonas.aberg@stericsson.com>
> > 
> > Disable hardware if active when suspending if the hw can not
> > wake the system from suspend.
> 
> How about below instead (needs the other patch I have just sent out)?

Sorry Dmitry, I'm a little confused. What does this mean?

> Input: gpio-keys - disable hardware on suspend
> 
> From: Jonas Aaberg <jonas.aberg@stericsson.com>
> 
> Disable hardware if active when suspending if the hw can not
> wake the system from suspend.
> 
> Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
> Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
> Reviewed-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>  drivers/input/keyboard/gpio_keys.c |   27 ++++++++++++++++++++++-----
>  1 file changed, 22 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index c7764ca..79435de 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -803,6 +803,7 @@ static int gpio_keys_remove(struct platform_device *pdev)
>  static int gpio_keys_suspend(struct device *dev)
>  {
>  	struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
> +	struct input_dev *input = ddata->input;
>  	int i;
>  
>  	if (device_may_wakeup(dev)) {
> @@ -811,6 +812,11 @@ static int gpio_keys_suspend(struct device *dev)
>  			if (bdata->button->wakeup)
>  				enable_irq_wake(bdata->irq);
>  		}
> +	} else {
> +		mutex_lock(&input->mutex);
> +		if (input->users)
> +			gpio_keys_close(input);
> +		mutex_unlock(&input->mutex);
>  	}
>  
>  	return 0;
> @@ -819,16 +825,27 @@ static int gpio_keys_suspend(struct device *dev)
>  static int gpio_keys_resume(struct device *dev)
>  {
>  	struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
> +	struct input_dev *input = ddata->input;
> +	int error = 0;
>  	int i;
>  
> -	for (i = 0; i < ddata->pdata->nbuttons; i++) {
> -		struct gpio_button_data *bdata = &ddata->data[i];
> -		if (bdata->button->wakeup && device_may_wakeup(dev))
> -			disable_irq_wake(bdata->irq);
> +	if (device_may_wakeup(dev)) {
> +		for (i = 0; i < ddata->pdata->nbuttons; i++) {
> +			struct gpio_button_data *bdata = &ddata->data[i];
> +			if (bdata->button->wakeup)
> +				disable_irq_wake(bdata->irq);
> +		}
> +	} else {
> +		mutex_lock(&input->mutex);
> +		if (input->users)
> +			error = gpio_keys_open(input);
> +		mutex_unlock(&input->mutex);
>  	}
>  
> -	gpio_keys_report_state(ddata);
> +	if (error)
> +		return error;
>  
> +	gpio_keys_report_state(ddata);
>  	return 0;
>  }
>  #endif

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

WARNING: multiple messages have this Message-ID (diff)
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] input: gpio-keys: Disable hardware on suspend
Date: Mon, 26 Nov 2012 09:05:03 +0000	[thread overview]
Message-ID: <20121126090503.GB12782@gmail.com> (raw)
In-Reply-To: <20121125083229.GB21091@core.coreip.homeip.net>

> On Thu, Nov 22, 2012 at 01:23:36PM +0000, Lee Jones wrote:
> > From: Jonas Aaberg <jonas.aberg@stericsson.com>
> > 
> > Disable hardware if active when suspending if the hw can not
> > wake the system from suspend.
> 
> How about below instead (needs the other patch I have just sent out)?

Sorry Dmitry, I'm a little confused. What does this mean?

> Input: gpio-keys - disable hardware on suspend
> 
> From: Jonas Aaberg <jonas.aberg@stericsson.com>
> 
> Disable hardware if active when suspending if the hw can not
> wake the system from suspend.
> 
> Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
> Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
> Reviewed-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>  drivers/input/keyboard/gpio_keys.c |   27 ++++++++++++++++++++++-----
>  1 file changed, 22 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index c7764ca..79435de 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -803,6 +803,7 @@ static int gpio_keys_remove(struct platform_device *pdev)
>  static int gpio_keys_suspend(struct device *dev)
>  {
>  	struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
> +	struct input_dev *input = ddata->input;
>  	int i;
>  
>  	if (device_may_wakeup(dev)) {
> @@ -811,6 +812,11 @@ static int gpio_keys_suspend(struct device *dev)
>  			if (bdata->button->wakeup)
>  				enable_irq_wake(bdata->irq);
>  		}
> +	} else {
> +		mutex_lock(&input->mutex);
> +		if (input->users)
> +			gpio_keys_close(input);
> +		mutex_unlock(&input->mutex);
>  	}
>  
>  	return 0;
> @@ -819,16 +825,27 @@ static int gpio_keys_suspend(struct device *dev)
>  static int gpio_keys_resume(struct device *dev)
>  {
>  	struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
> +	struct input_dev *input = ddata->input;
> +	int error = 0;
>  	int i;
>  
> -	for (i = 0; i < ddata->pdata->nbuttons; i++) {
> -		struct gpio_button_data *bdata = &ddata->data[i];
> -		if (bdata->button->wakeup && device_may_wakeup(dev))
> -			disable_irq_wake(bdata->irq);
> +	if (device_may_wakeup(dev)) {
> +		for (i = 0; i < ddata->pdata->nbuttons; i++) {
> +			struct gpio_button_data *bdata = &ddata->data[i];
> +			if (bdata->button->wakeup)
> +				disable_irq_wake(bdata->irq);
> +		}
> +	} else {
> +		mutex_lock(&input->mutex);
> +		if (input->users)
> +			error = gpio_keys_open(input);
> +		mutex_unlock(&input->mutex);
>  	}
>  
> -	gpio_keys_report_state(ddata);
> +	if (error)
> +		return error;
>  
> +	gpio_keys_report_state(ddata);
>  	return 0;
>  }
>  #endif

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2012-11-26  9:05 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22 13:23 [PATCH 1/2] input: gpio-keys: Disable hardware on suspend Lee Jones
2012-11-22 13:23 ` Lee Jones
2012-11-22 13:23 ` Lee Jones
2012-11-22 13:23 ` [PATCH 2/2] input: gpio-keys: Add runtime support Lee Jones
2012-11-22 13:23   ` Lee Jones
2012-11-22 13:23   ` Lee Jones
2012-11-22 14:51   ` Lee Jones
2012-11-22 14:51     ` Lee Jones
2012-11-22 14:51     ` Lee Jones
2012-11-25  8:32 ` [PATCH 1/2] input: gpio-keys: Disable hardware on suspend Dmitry Torokhov
2012-11-25  8:32   ` Dmitry Torokhov
2012-11-26  9:05   ` Lee Jones [this message]
2012-11-26  9:05     ` Lee Jones
2012-11-26  9:32     ` Dmitry Torokhov
2012-11-26  9:32       ` Dmitry Torokhov
2012-12-01 17:01   ` Linus Walleij
2012-12-01 17:01     ` Linus Walleij
  -- strict thread matches above, loose matches on Subject: below --
2012-10-11 14:15 Lee Jones
2012-10-11 14:15 ` Lee Jones
2012-10-13  6:17 ` Dmitry Torokhov
2012-10-13  6:17   ` Dmitry Torokhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121126090503.GB12782@gmail.com \
    --to=lee.jones@linaro.org \
    --cc=arnd@arndb.de \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jonas.aberg@stericsson.com \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=philippe.langlais@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.