All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
To: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
	tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
Subject: [PATCHv8 13/18] I2C: OMAP: Handle error check for pm runtime
Date: Thu, 12 Apr 2012 18:36:30 +0530	[thread overview]
Message-ID: <1334235995-6727-14-git-send-email-shubhrajyoti@ti.com> (raw)
In-Reply-To: <1334235995-6727-1-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>

If PM runtime get_sync fails return with the error
so that no further reads/writes goes through the interface.
This will avoid possible abort. Add a error message in case
of failure with the cause of the failure.

Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
---
 drivers/i2c/busses/i2c-omap.c |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index edc4826..95fb9f9 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -616,7 +616,11 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 	int i;
 	int r;
 
-	pm_runtime_get_sync(dev->dev);
+	r = pm_runtime_get_sync(dev->dev);
+	if (r < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed %d\n", r);
+		return r;
+	}
 
 	r = omap_i2c_wait_for_bb(dev);
 	if (r < 0)
@@ -1039,7 +1043,11 @@ omap_i2c_probe(struct platform_device *pdev)
 		dev->regs = (u8 *)reg_map_ip_v1;
 
 	pm_runtime_enable(dev->dev);
-	pm_runtime_get_sync(dev->dev);
+	r = pm_runtime_get_sync(dev->dev);
+	if (r < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed:%d\n", r);
+		return r;
+	}
 
 	dev->rev = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) & 0xff;
 
@@ -1124,12 +1132,17 @@ err_unuse_clocks:
 static int __devexit omap_i2c_remove(struct platform_device *pdev)
 {
 	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
+	int ret;
 
 	platform_set_drvdata(pdev, NULL);
 
 	free_irq(dev->irq, dev);
 	i2c_del_adapter(&dev->adapter);
-	pm_runtime_get_sync(&pdev->dev);
+	ret = pm_runtime_get_sync(&pdev->dev);
+	if (ret < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed %d\n", ret);
+		return ret;
+	}
 	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
 	pm_runtime_put(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
-- 
1.7.4.1

WARNING: multiple messages have this Message-ID (diff)
From: shubhrajyoti@ti.com (Shubhrajyoti D)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv8 13/18] I2C: OMAP: Handle error check for pm runtime
Date: Thu, 12 Apr 2012 18:36:30 +0530	[thread overview]
Message-ID: <1334235995-6727-14-git-send-email-shubhrajyoti@ti.com> (raw)
In-Reply-To: <1334235995-6727-1-git-send-email-shubhrajyoti@ti.com>

If PM runtime get_sync fails return with the error
so that no further reads/writes goes through the interface.
This will avoid possible abort. Add a error message in case
of failure with the cause of the failure.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
 drivers/i2c/busses/i2c-omap.c |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index edc4826..95fb9f9 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -616,7 +616,11 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 	int i;
 	int r;
 
-	pm_runtime_get_sync(dev->dev);
+	r = pm_runtime_get_sync(dev->dev);
+	if (r < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed %d\n", r);
+		return r;
+	}
 
 	r = omap_i2c_wait_for_bb(dev);
 	if (r < 0)
@@ -1039,7 +1043,11 @@ omap_i2c_probe(struct platform_device *pdev)
 		dev->regs = (u8 *)reg_map_ip_v1;
 
 	pm_runtime_enable(dev->dev);
-	pm_runtime_get_sync(dev->dev);
+	r = pm_runtime_get_sync(dev->dev);
+	if (r < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed:%d\n", r);
+		return r;
+	}
 
 	dev->rev = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) & 0xff;
 
@@ -1124,12 +1132,17 @@ err_unuse_clocks:
 static int __devexit omap_i2c_remove(struct platform_device *pdev)
 {
 	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
+	int ret;
 
 	platform_set_drvdata(pdev, NULL);
 
 	free_irq(dev->irq, dev);
 	i2c_del_adapter(&dev->adapter);
-	pm_runtime_get_sync(&pdev->dev);
+	ret = pm_runtime_get_sync(&pdev->dev);
+	if (ret < 0) {
+		dev_err(dev->dev, "pm_runtime_get_sync failed %d\n", ret);
+		return ret;
+	}
 	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
 	pm_runtime_put(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
-- 
1.7.4.1

  parent reply	other threads:[~2012-04-12 13:06 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12 13:06 [PATCHv8 00/18] I2C Updates Shubhrajyoti D
2012-04-12 13:06 ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 02/18] I2C: OMAP: Remove reset at init Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 05/18] I2C: OMAP: Fix the interrupt clearing in OMAP4 Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 06/18] I2C: OMAP: Fix the mismatch of pm_runtime enable and disable Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 07/18] I2C: OMAP: Optimise the remove code Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 11/18] I2C: OMAP: use devm_* functions Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 14/18] I2C: OMAP: Use SET_RUNTIME_PM_OPS Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
2012-04-12 13:06 ` [PATCHv8 16/18] I2C: OMAP: fix missing handling of errata I2C_OMAP3_1P153 Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D
     [not found] ` <1334235995-6727-1-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-04-12 13:06   ` [PATCHv8 01/18] I2C: OMAP: make omap_i2c_unidle/idle functions depend on CONFIG_PM_RUNTIME Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 03/18] I2C: OMAP: Recover from Bus Busy condition Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 04/18] I2C: OMAP: I2C register restore only if context is lost Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-16 18:13     ` Tony Lindgren
2012-04-16 18:13       ` Tony Lindgren
2012-04-17  5:50       ` Shubhrajyoti
2012-04-17  5:50         ` Shubhrajyoti
     [not found]     ` <1334235995-6727-5-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-04-17 13:45       ` Kevin Hilman
2012-04-17 13:45         ` Kevin Hilman
     [not found]         ` <87d376zd2v.fsf-l0cyMroinI0@public.gmane.org>
2012-04-17 15:08           ` Shubhrajyoti Datta
2012-04-17 15:08             ` Shubhrajyoti Datta
2012-04-18  7:19             ` Datta, Shubhrajyoti
2012-04-18  7:19               ` Datta, Shubhrajyoti
2012-04-18 14:08               ` Kevin Hilman
2012-04-18 14:08                 ` Kevin Hilman
     [not found]                 ` <CANQgH-af1VCutKqpq8jK1yTPHybgvnUNA3zdfQq4AYcWcJRtvA@mail.gmail.com>
     [not found]                   ` <CANQgH-af1VCutKqpq8jK1yTPHybgvnUNA3zdfQq4AYcWcJRtvA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-04-20 14:17                     ` Datta, Shubhrajyoti
2012-04-20 14:17                       ` Datta, Shubhrajyoti
2012-04-12 13:06   ` [PATCHv8 08/18] I2C: OMAP: Fix the error handling Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 09/18] I2C: OMAP: Correct I2C revision for OMAP3 Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 10/18] I2C: OMAP: Don't check if wait_for_completion_timeout() returns less than zero Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 12/18] I2C: OMAP: Fix the crash in i2c remove Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` Shubhrajyoti D [this message]
2012-04-12 13:06     ` [PATCHv8 13/18] I2C: OMAP: Handle error check for pm runtime Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 15/18] I2C: OMAP: make the read ready processing a separate function Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 17/18] I2C: OMAP: Do not set the XUDF if the underflow is not reached Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D
2012-04-12 13:06   ` [PATCHv8 18/18] I2C: OMAP: Rename the 1p153 to the erratum id i462 Shubhrajyoti D
2012-04-12 13:06     ` Shubhrajyoti D

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=1334235995-6727-14-git-send-email-shubhrajyoti@ti.com \
    --to=shubhrajyoti-l0cymroini0@public.gmane.org \
    --cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    --cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.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.