From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: linux-i2c@vger.kernel.org
Cc: Wolfram Sang <wsa@the-dreams.de>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
Lv Zheng <lv.zheng@intel.com>, Aaron Lu <aaron.lu@intel.com>,
linux-arm-kernel@lists.infradead.org,
Mark Brown <broonie@kernel.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Mauro Carvalho Chehab <m.chehab@samsung.com>,
Samuel Ortiz <sameo@linux.intel.com>,
Lee Jones <lee.jones@linaro.org>, Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>
Subject: [PATCH v2 3/9] Input: misc - convert existing I2C client drivers to use I2C core runtime PM
Date: Wed, 11 Sep 2013 18:32:34 +0300 [thread overview]
Message-ID: <1378913560-2752-4-git-send-email-mika.westerberg@linux.intel.com> (raw)
In-Reply-To: <1378913560-2752-1-git-send-email-mika.westerberg@linux.intel.com>
The I2C core now prepares runtime PM on behalf of the I2C client device, so
only thing the driver needs to do is to call pm_runtime_put() at the end of
->probe().
This patch converts bma150 and mpu3050 input drivers to use this model.
While we are there remove call to pm_runtime_set_autosuspend_delay() in
mpu3050 driver because the driver doesn't seem to use autosuspend anyway.
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
drivers/input/misc/bma150.c | 4 ++--
drivers/input/misc/mpu3050.c | 16 ++++------------
2 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/drivers/input/misc/bma150.c b/drivers/input/misc/bma150.c
index 865c2f9..f1bf5e9 100644
--- a/drivers/input/misc/bma150.c
+++ b/drivers/input/misc/bma150.c
@@ -592,7 +592,7 @@ static int bma150_probe(struct i2c_client *client,
i2c_set_clientdata(client, bma150);
- pm_runtime_enable(&client->dev);
+ pm_runtime_put(&client->dev);
return 0;
@@ -605,7 +605,7 @@ static int bma150_remove(struct i2c_client *client)
{
struct bma150_data *bma150 = i2c_get_clientdata(client);
- pm_runtime_disable(&client->dev);
+ pm_runtime_get(&client->dev);
if (client->irq > 0) {
free_irq(client->irq, bma150);
diff --git a/drivers/input/misc/mpu3050.c b/drivers/input/misc/mpu3050.c
index dce0d95..9f2ead5 100644
--- a/drivers/input/misc/mpu3050.c
+++ b/drivers/input/misc/mpu3050.c
@@ -43,8 +43,6 @@
#define MPU3050_CHIP_ID 0x69
-#define MPU3050_AUTO_DELAY 1000
-
#define MPU3050_MIN_VALUE -32768
#define MPU3050_MAX_VALUE 32767
@@ -359,11 +357,9 @@ static int mpu3050_probe(struct i2c_client *client,
input_set_drvdata(idev, sensor);
- pm_runtime_set_active(&client->dev);
-
error = mpu3050_hw_init(sensor);
if (error)
- goto err_pm_set_suspended;
+ goto err_free_mem;
error = request_threaded_irq(client->irq,
NULL, mpu3050_interrupt_thread,
@@ -372,7 +368,7 @@ static int mpu3050_probe(struct i2c_client *client,
if (error) {
dev_err(&client->dev,
"can't get IRQ %d, error %d\n", client->irq, error);
- goto err_pm_set_suspended;
+ goto err_free_mem;
}
error = input_register_device(idev);
@@ -381,15 +377,12 @@ static int mpu3050_probe(struct i2c_client *client,
goto err_free_irq;
}
- pm_runtime_enable(&client->dev);
- pm_runtime_set_autosuspend_delay(&client->dev, MPU3050_AUTO_DELAY);
+ pm_runtime_put(&client->dev);
return 0;
err_free_irq:
free_irq(client->irq, sensor);
-err_pm_set_suspended:
- pm_runtime_set_suspended(&client->dev);
err_free_mem:
input_free_device(idev);
kfree(sensor);
@@ -406,8 +399,7 @@ static int mpu3050_remove(struct i2c_client *client)
{
struct mpu3050_sensor *sensor = i2c_get_clientdata(client);
- pm_runtime_disable(&client->dev);
- pm_runtime_set_suspended(&client->dev);
+ pm_runtime_get(&client->dev);
free_irq(client->irq, sensor);
input_unregister_device(sensor->idev);
--
1.8.4.rc3
next prev parent reply other threads:[~2013-09-11 15:32 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-11 15:32 [PATCH v2 0/9] runtime PM support for I2C and SPI client devices Mika Westerberg
2013-09-11 15:32 ` [PATCH v2 1/9] i2c: prepare runtime PM support for I2C " Mika Westerberg
2013-09-12 21:34 ` Kevin Hilman
[not found] ` <87vc25pvvm.fsf-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-09-12 21:40 ` Kevin Hilman
2013-09-13 6:54 ` Mika Westerberg
2013-09-13 9:59 ` Mark Brown
[not found] ` <20130913095950.GA29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-13 10:16 ` Mika Westerberg
2013-09-13 10:31 ` Mark Brown
[not found] ` <20130913103152.GE29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-13 11:50 ` Mika Westerberg
[not found] ` <20130913115035.GB7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-13 12:10 ` Mark Brown
2013-09-13 14:30 ` Kevin Hilman
2013-09-13 14:50 ` Mika Westerberg
[not found] ` <20130913145022.GC7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-13 17:31 ` Mika Westerberg
2013-09-13 21:10 ` Kevin Hilman
2013-09-15 6:41 ` Mika Westerberg
2013-09-15 12:47 ` Mark Brown
[not found] ` <20130915124744.GW29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-15 13:28 ` Mika Westerberg
2013-09-16 10:12 ` Mark Brown
[not found] ` <20130916101249.GX29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-16 14:38 ` Mika Westerberg
[not found] ` <20130916143811.GP7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-16 14:46 ` Graeme Gregory
2013-09-16 15:13 ` Mika Westerberg
2013-09-13 15:14 ` Sylwester Nawrocki
[not found] ` <52332BF0.4060605-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-09-13 15:40 ` Mika Westerberg
[not found] ` <20130913154013.GD7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-15 13:48 ` Sylwester Nawrocki
[not found] ` <5235BA9C.1090509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-16 8:47 ` Mika Westerberg
2013-09-16 19:07 ` Rafael J. Wysocki
[not found] ` <1861747.RtS0ZLgUUN-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2013-09-16 23:31 ` Mark Brown
[not found] ` <20130916233111.GB21013-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-17 1:25 ` Rafael J. Wysocki
[not found] ` <1820315.QOOAzSjac3-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2013-09-17 10:48 ` Mark Brown
2013-09-17 11:00 ` Mika Westerberg
[not found] ` <20130917110021.GU7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-17 21:38 ` Rafael J. Wysocki
[not found] ` <20130916084708.GN7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-17 11:07 ` Sylwester Nawrocki
2013-09-24 5:18 ` Mika Westerberg
2013-09-12 22:06 ` Sylwester Nawrocki
2013-09-13 1:14 ` Aaron Lu
[not found] ` <523266EC.1060501-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-13 10:02 ` Mark Brown
2013-09-11 15:32 ` [PATCH v2 2/9] i2c: attach/detach I2C client device to the ACPI power domain Mika Westerberg
2013-09-11 15:32 ` Mika Westerberg [this message]
2013-09-11 15:32 ` [PATCH v2 4/9] [media] s5p-tv: convert to use I2C core runtime PM Mika Westerberg
2013-09-11 15:32 ` [PATCH v2 5/9] drivers/misc: convert existing I2C clients driver " Mika Westerberg
2013-09-12 21:29 ` Greg Kroah-Hartman
2013-09-11 15:32 ` [PATCH v2 6/9] mfd: wm8994: convert " Mika Westerberg
2013-09-11 16:12 ` Samuel Ortiz
2013-09-12 9:24 ` Mika Westerberg
[not found] ` <20130912092447.GJ7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-12 9:28 ` Samuel Ortiz
2013-09-11 15:32 ` [PATCH v2 7/9] ASoC: codecs: convert existing I2C client drivers " Mika Westerberg
[not found] ` <1378913560-2752-8-git-send-email-mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-09-11 15:44 ` Mark Brown
2013-09-11 15:32 ` [PATCH v2 8/9] spi: prepare runtime PM support for SPI devices Mika Westerberg
[not found] ` <1378913560-2752-9-git-send-email-mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-09-11 15:51 ` Mark Brown
2013-09-12 9:27 ` Mika Westerberg
[not found] ` <20130912092743.GK7393-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-09-12 9:31 ` Mark Brown
[not found] ` <20130912093145.GA29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-12 9:43 ` Mika Westerberg
2013-09-12 11:04 ` Rafael J. Wysocki
2013-09-12 11:04 ` Wolfram Sang
2013-09-12 12:20 ` Mika Westerberg
[not found] ` <14222641.vVF4lKBqCB-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2013-09-12 12:25 ` Mika Westerberg
2013-09-11 15:32 ` [PATCH v2 9/9] spi: attach/detach SPI device to the ACPI power domain Mika Westerberg
2013-09-11 15:51 ` Mark Brown
[not found] ` <1378913560-2752-1-git-send-email-mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-09-11 15:53 ` [PATCH v2 0/9] runtime PM support for I2C and SPI client devices Mark Brown
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=1378913560-2752-4-git-send-email-mika.westerberg@linux.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=aaron.lu@intel.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kyungmin.park@samsung.com \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lv.zheng@intel.com \
--cc=m.chehab@samsung.com \
--cc=rafael.j.wysocki@intel.com \
--cc=sameo@linux.intel.com \
--cc=wsa@the-dreams.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).