All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv11 0/6] I2C cleanups
@ 2012-06-28 15:11 ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ, Shubhrajyoti D

This is a minimal cleanup series.

The patch series does the following

- Bus busy recovery mechanism.
- Make the i2c use SET_RUNTIME_PM_OPS
- Use INIT_COMPLETION instead of init_completion
- the reset patch is dropped will try to rework it as per the 
 review comments recieved.


This applies on Wolfram's i2c-embedded/for-next branch.

Functional testing on omap4430 , 4460 panda and omap3sdp.
 

The following changes since commit 0f009a914b40be8786fa67b1f4345cacc263b48c:

  i2c: tegra: make all resource allocation through devm_* (2012-06-13 16:01:38 +0200)

are available in the git repository at:
  git://gitorious.org/linus-tree/linus-tree.git for_next/omap/minimal_cleanup

Jon Hunter (1):
  i2c: omap: Correct I2C revision for OMAP3

Shubhrajyoti D (4):
  i2c: omap: Optimise the remove code
  i2c: omap: Use SET_RUNTIME_PM_OPS
  i2c: omap: Do not initialise the completion everytime
  i2c: omap: Remove the definition of SYSS_RESETDONE_MASK

Vikram Pandita (1):
  i2c: omap: Recover from Bus Busy condition

 drivers/i2c/busses/i2c-omap.c |   60 ++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 18 deletions(-)

-- 
1.7.5.4

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 0/6] I2C cleanups
@ 2012-06-28 15:11 ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

This is a minimal cleanup series.

The patch series does the following

- Bus busy recovery mechanism.
- Make the i2c use SET_RUNTIME_PM_OPS
- Use INIT_COMPLETION instead of init_completion
- the reset patch is dropped will try to rework it as per the 
 review comments recieved.


This applies on Wolfram's i2c-embedded/for-next branch.

Functional testing on omap4430 , 4460 panda and omap3sdp.
 

The following changes since commit 0f009a914b40be8786fa67b1f4345cacc263b48c:

  i2c: tegra: make all resource allocation through devm_* (2012-06-13 16:01:38 +0200)

are available in the git repository at:
  git://gitorious.org/linus-tree/linus-tree.git for_next/omap/minimal_cleanup

Jon Hunter (1):
  i2c: omap: Correct I2C revision for OMAP3

Shubhrajyoti D (4):
  i2c: omap: Optimise the remove code
  i2c: omap: Use SET_RUNTIME_PM_OPS
  i2c: omap: Do not initialise the completion everytime
  i2c: omap: Remove the definition of SYSS_RESETDONE_MASK

Vikram Pandita (1):
  i2c: omap: Recover from Bus Busy condition

 drivers/i2c/busses/i2c-omap.c |   60 ++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 18 deletions(-)

-- 
1.7.5.4

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 1/6] i2c: omap: Optimise the remove code
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11   ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap
  Cc: linux-i2c, linux-arm-kernel, ben-linux, tony, w.sang, Shubhrajyoti D

The omap_i2c_remove function may not be needed after
device exit so the memory could be freed.

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

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 9895fa7..b086076 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1102,8 +1102,7 @@ err_release_region:
 	return r;
 }
 
-static int
-omap_i2c_remove(struct platform_device *pdev)
+static int __devexit omap_i2c_remove(struct platform_device *pdev)
 {
 	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
 	struct resource		*mem;
@@ -1187,7 +1186,7 @@ static struct dev_pm_ops omap_i2c_pm_ops = {
 
 static struct platform_driver omap_i2c_driver = {
 	.probe		= omap_i2c_probe,
-	.remove		= omap_i2c_remove,
+	.remove		= __devexit_p(omap_i2c_remove),
 	.driver		= {
 		.name	= "omap_i2c",
 		.owner	= THIS_MODULE,
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 1/6] i2c: omap: Optimise the remove code
@ 2012-06-28 15:11   ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

The omap_i2c_remove function may not be needed after
device exit so the memory could be freed.

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

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 9895fa7..b086076 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1102,8 +1102,7 @@ err_release_region:
 	return r;
 }
 
-static int
-omap_i2c_remove(struct platform_device *pdev)
+static int __devexit omap_i2c_remove(struct platform_device *pdev)
 {
 	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
 	struct resource		*mem;
@@ -1187,7 +1186,7 @@ static struct dev_pm_ops omap_i2c_pm_ops = {
 
 static struct platform_driver omap_i2c_driver = {
 	.probe		= omap_i2c_probe,
-	.remove		= omap_i2c_remove,
+	.remove		= __devexit_p(omap_i2c_remove),
 	.driver		= {
 		.name	= "omap_i2c",
 		.owner	= THIS_MODULE,
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 2/6] i2c: omap: Use SET_RUNTIME_PM_OPS
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11   ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap
  Cc: linux-i2c, linux-arm-kernel, ben-linux, tony, w.sang, Shubhrajyoti D

Use SET_RUNTIME_PM_OPS macro to set runtime functions.

Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
 drivers/i2c/busses/i2c-omap.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index b086076..b9915bb 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1126,6 +1126,7 @@ static int __devexit omap_i2c_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_PM
 #ifdef CONFIG_PM_RUNTIME
 static int omap_i2c_runtime_suspend(struct device *dev)
 {
@@ -1174,15 +1175,16 @@ static int omap_i2c_runtime_resume(struct device *dev)
 
 	return 0;
 }
+#endif /* CONFIG_PM_RUNTIME */
 
 static struct dev_pm_ops omap_i2c_pm_ops = {
-	.runtime_suspend = omap_i2c_runtime_suspend,
-	.runtime_resume = omap_i2c_runtime_resume,
+	SET_RUNTIME_PM_OPS(omap_i2c_runtime_suspend,
+			   omap_i2c_runtime_resume, NULL)
 };
 #define OMAP_I2C_PM_OPS (&omap_i2c_pm_ops)
 #else
 #define OMAP_I2C_PM_OPS NULL
-#endif
+#endif /* CONFIG_PM */
 
 static struct platform_driver omap_i2c_driver = {
 	.probe		= omap_i2c_probe,
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 2/6] i2c: omap: Use SET_RUNTIME_PM_OPS
@ 2012-06-28 15:11   ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

Use SET_RUNTIME_PM_OPS macro to set runtime functions.

Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
 drivers/i2c/busses/i2c-omap.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index b086076..b9915bb 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1126,6 +1126,7 @@ static int __devexit omap_i2c_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_PM
 #ifdef CONFIG_PM_RUNTIME
 static int omap_i2c_runtime_suspend(struct device *dev)
 {
@@ -1174,15 +1175,16 @@ static int omap_i2c_runtime_resume(struct device *dev)
 
 	return 0;
 }
+#endif /* CONFIG_PM_RUNTIME */
 
 static struct dev_pm_ops omap_i2c_pm_ops = {
-	.runtime_suspend = omap_i2c_runtime_suspend,
-	.runtime_resume = omap_i2c_runtime_resume,
+	SET_RUNTIME_PM_OPS(omap_i2c_runtime_suspend,
+			   omap_i2c_runtime_resume, NULL)
 };
 #define OMAP_I2C_PM_OPS (&omap_i2c_pm_ops)
 #else
 #define OMAP_I2C_PM_OPS NULL
-#endif
+#endif /* CONFIG_PM */
 
 static struct platform_driver omap_i2c_driver = {
 	.probe		= omap_i2c_probe,
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11   ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap
  Cc: linux-i2c, linux-arm-kernel, ben-linux, tony, w.sang, Shubhrajyoti D

Use INIT_COMPLETION instead of init_completion in transfer.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
- Add Felipe's reviewed-by tag

 drivers/i2c/busses/i2c-omap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index b9915bb..6d05f18 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
 	w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
 	omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
 
-	init_completion(&dev->cmd_complete);
+	INIT_COMPLETION(dev->cmd_complete);
 	dev->cmd_err = 0;
 
 	w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT;
@@ -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	}
 
 	platform_set_drvdata(pdev, dev);
+	init_completion(&dev->cmd_complete);
 
 	dev->reg_shift = (dev->flags >> OMAP_I2C_FLAG_BUS_SHIFT__SHIFT) & 3;
 
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
@ 2012-06-28 15:11   ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

Use INIT_COMPLETION instead of init_completion in transfer.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
- Add Felipe's reviewed-by tag

 drivers/i2c/busses/i2c-omap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index b9915bb..6d05f18 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
 	w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
 	omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
 
-	init_completion(&dev->cmd_complete);
+	INIT_COMPLETION(dev->cmd_complete);
 	dev->cmd_err = 0;
 
 	w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT;
@@ -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	}
 
 	platform_set_drvdata(pdev, dev);
+	init_completion(&dev->cmd_complete);
 
 	dev->reg_shift = (dev->flags >> OMAP_I2C_FLAG_BUS_SHIFT__SHIFT) & 3;
 
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11     ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ, Shubhrajyoti D

Remove the definition of SYSS_RESETDONE_MASK and use the
one in omap_hwmod.h.

Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
---
- Add Felipe's reviewed by tag

 drivers/i2c/busses/i2c-omap.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 6d05f18..4bbf288 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -43,6 +43,7 @@
 #include <linux/slab.h>
 #include <linux/i2c-omap.h>
 #include <linux/pm_runtime.h>
+#include <plat/omap_hwmod.h>
 
 /* I2C controller revisions */
 #define OMAP_I2C_OMAP1_REV_2		0x20
@@ -158,9 +159,6 @@ enum {
 #define OMAP_I2C_SYSTEST_SDA_O		(1 << 0)	/* SDA line drive out */
 #endif
 
-/* OCP_SYSSTATUS bit definitions */
-#define SYSS_RESETDONE_MASK		(1 << 0)
-
 /* OCP_SYSCONFIG bit definitions */
 #define SYSC_CLOCKACTIVITY_MASK		(0x3 << 8)
 #define SYSC_SIDLEMODE_MASK		(0x3 << 3)
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
@ 2012-06-28 15:11     ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

Remove the definition of SYSS_RESETDONE_MASK and use the
one in omap_hwmod.h.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
- Add Felipe's reviewed by tag

 drivers/i2c/busses/i2c-omap.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 6d05f18..4bbf288 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -43,6 +43,7 @@
 #include <linux/slab.h>
 #include <linux/i2c-omap.h>
 #include <linux/pm_runtime.h>
+#include <plat/omap_hwmod.h>
 
 /* I2C controller revisions */
 #define OMAP_I2C_OMAP1_REV_2		0x20
@@ -158,9 +159,6 @@ enum {
 #define OMAP_I2C_SYSTEST_SDA_O		(1 << 0)	/* SDA line drive out */
 #endif
 
-/* OCP_SYSSTATUS bit definitions */
-#define SYSS_RESETDONE_MASK		(1 << 0)
-
 /* OCP_SYSCONFIG bit definitions */
 #define SYSC_CLOCKACTIVITY_MASK		(0x3 << 8)
 #define SYSC_SIDLEMODE_MASK		(0x3 << 3)
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11   ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap
  Cc: linux-i2c, linux-arm-kernel, ben-linux, tony, w.sang, Jon Hunter,
	Shubhrajyoti D

From: Jon Hunter <jon-hunter@ti.com>

The OMAP3530 is based upon the same silicon as the OMAP3430 and so the I2C
revision is the same for 3430 and 3530. However, the OMAP3630 device has the
same I2C revision as OMAP4. Correct the revision definition to reflect this.

This patch is based on work done by Jon Hunter <jon-hunter@ti.com>
Changes from his patch
- Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
- Add Felipe's Reviewed by tag

 drivers/i2c/busses/i2c-omap.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 4bbf288..5058dfc 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -50,8 +50,8 @@
 
 /* I2C controller revisions present on specific hardware */
 #define OMAP_I2C_REV_ON_2430		0x36
-#define OMAP_I2C_REV_ON_3430		0x3C
-#define OMAP_I2C_REV_ON_3530_4430	0x40
+#define OMAP_I2C_REV_ON_3430_3530	0x3C
+#define OMAP_I2C_REV_ON_3630_4430	0x40
 
 /* timeout waiting for the controller to respond */
 #define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
@@ -303,7 +303,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
 			omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG,
 					   SYSC_AUTOIDLE_MASK);
 
-		} else if (dev->rev >= OMAP_I2C_REV_ON_3430) {
+		} else if (dev->rev >= OMAP_I2C_REV_ON_3430_3530) {
 			dev->syscstate = SYSC_AUTOIDLE_MASK;
 			dev->syscstate |= SYSC_ENAWAKEUP_MASK;
 			dev->syscstate |= (SYSC_IDLEMODE_SMART <<
@@ -1018,7 +1018,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	if (dev->flags & OMAP_I2C_FLAG_APPLY_ERRATA_I207)
 		dev->errata |= I2C_OMAP_ERRATA_I207;
 
-	if (dev->rev <= OMAP_I2C_REV_ON_3430)
+	if (dev->rev <= OMAP_I2C_REV_ON_3430_3530)
 		dev->errata |= I2C_OMAP_ERRATA_I462;
 
 	if (!(dev->flags & OMAP_I2C_FLAG_NO_FIFO)) {
@@ -1036,7 +1036,7 @@ omap_i2c_probe(struct platform_device *pdev)
 
 		dev->fifo_size = (dev->fifo_size / 2);
 
-		if (dev->rev >= OMAP_I2C_REV_ON_3530_4430)
+		if (dev->rev >= OMAP_I2C_REV_ON_3630_4430)
 			dev->b_hw = 0; /* Disable hardware fixes */
 		else
 			dev->b_hw = 1; /* Enable hardware fixes */
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
@ 2012-06-28 15:11   ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

From: Jon Hunter <jon-hunter@ti.com>

The OMAP3530 is based upon the same silicon as the OMAP3430 and so the I2C
revision is the same for 3430 and 3530. However, the OMAP3630 device has the
same I2C revision as OMAP4. Correct the revision definition to reflect this.

This patch is based on work done by Jon Hunter <jon-hunter@ti.com>
Changes from his patch
- Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
- Add Felipe's Reviewed by tag

 drivers/i2c/busses/i2c-omap.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 4bbf288..5058dfc 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -50,8 +50,8 @@
 
 /* I2C controller revisions present on specific hardware */
 #define OMAP_I2C_REV_ON_2430		0x36
-#define OMAP_I2C_REV_ON_3430		0x3C
-#define OMAP_I2C_REV_ON_3530_4430	0x40
+#define OMAP_I2C_REV_ON_3430_3530	0x3C
+#define OMAP_I2C_REV_ON_3630_4430	0x40
 
 /* timeout waiting for the controller to respond */
 #define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000))
@@ -303,7 +303,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
 			omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG,
 					   SYSC_AUTOIDLE_MASK);
 
-		} else if (dev->rev >= OMAP_I2C_REV_ON_3430) {
+		} else if (dev->rev >= OMAP_I2C_REV_ON_3430_3530) {
 			dev->syscstate = SYSC_AUTOIDLE_MASK;
 			dev->syscstate |= SYSC_ENAWAKEUP_MASK;
 			dev->syscstate |= (SYSC_IDLEMODE_SMART <<
@@ -1018,7 +1018,7 @@ omap_i2c_probe(struct platform_device *pdev)
 	if (dev->flags & OMAP_I2C_FLAG_APPLY_ERRATA_I207)
 		dev->errata |= I2C_OMAP_ERRATA_I207;
 
-	if (dev->rev <= OMAP_I2C_REV_ON_3430)
+	if (dev->rev <= OMAP_I2C_REV_ON_3430_3530)
 		dev->errata |= I2C_OMAP_ERRATA_I462;
 
 	if (!(dev->flags & OMAP_I2C_FLAG_NO_FIFO)) {
@@ -1036,7 +1036,7 @@ omap_i2c_probe(struct platform_device *pdev)
 
 		dev->fifo_size = (dev->fifo_size / 2);
 
-		if (dev->rev >= OMAP_I2C_REV_ON_3530_4430)
+		if (dev->rev >= OMAP_I2C_REV_ON_3630_4430)
 			dev->b_hw = 0; /* Disable hardware fixes */
 		else
 			dev->b_hw = 1; /* Enable hardware fixes */
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-06-28 15:11     ` Shubhrajyoti D
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-omap-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ, Vikram Pandita, Jon Hunter,
	Shubhrajyoti D

From: Vikram Pandita <vikram.pandita-l0cyMroinI0@public.gmane.org>

In case a peripheral is driving SDA bus low (ie. a start condition), provide
a constant clock output using the test mode of the OMAP I2C controller to
try and clear the bus. Soft reset I2C controller after attempting the bus clear
to ensure that controller is in a good state.

Based upon Vikram Pandita's patch from TI Android 3.0.
I acknowledge the contributions and suggestions of Jon and Hemant.

A couple differences from the original patch ...
1. Add a new function for bus clear
2. Ensure that the CON.I2C_EN bit is set when using the SYSTEST feature to
   output a permanent clock. This bit needs to be set and typically it would
   be set by the unidle function but this is not the case for all OMAP
   generations.
3. Program the SYSTEST setting only the bits we care about. However, restore
   SYSTEST registers to there original state as some OMAP generations do not
   implement perform a soft-reset.
4. Clear the CON register after performing the bus clear, so when we call the
   init function the controller is disabled and the init function will
   re-enable later.

Original patch can be found here:
http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=a2ab04192ba25e60f95ba1ff3af5601a2d7b5bd1

Signed-off-by: Vikram Pandita <vikram.pandita-l0cyMroinI0@public.gmane.org>
Signed-off-by: Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
---
 drivers/i2c/busses/i2c-omap.c |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 5058dfc..2500f19 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -148,16 +148,15 @@ enum {
 #define OMAP_I2C_SCLH_HSSCLH	8
 
 /* I2C System Test Register (OMAP_I2C_SYSTEST): */
-#ifdef DEBUG
 #define OMAP_I2C_SYSTEST_ST_EN		(1 << 15)	/* System test enable */
 #define OMAP_I2C_SYSTEST_FREE		(1 << 14)	/* Free running mode */
 #define OMAP_I2C_SYSTEST_TMODE_MASK	(3 << 12)	/* Test mode select */
-#define OMAP_I2C_SYSTEST_TMODE_SHIFT	(12)		/* Test mode select */
+#define OMAP_I2C_SYSTEST_TMODE_TEST	(2 << 12)	/* Test mode select */
+#define OMAP_I2C_SYSTEST_TMODE_LOOP	(3 << 12)	/* Test mode select */
 #define OMAP_I2C_SYSTEST_SCL_I		(1 << 3)	/* SCL line sense in */
 #define OMAP_I2C_SYSTEST_SCL_O		(1 << 2)	/* SCL line drive out */
 #define OMAP_I2C_SYSTEST_SDA_I		(1 << 1)	/* SDA line sense in */
 #define OMAP_I2C_SYSTEST_SDA_O		(1 << 0)	/* SDA line drive out */
-#endif
 
 /* OCP_SYSCONFIG bit definitions */
 #define SYSC_CLOCKACTIVITY_MASK		(0x3 << 8)
@@ -458,6 +457,29 @@ static int omap_i2c_wait_for_bb(struct omap_i2c_dev *dev)
 
 	return 0;
 }
+/*
+ * Bus Clear
+ */
+static int omap_i2c_bus_clear(struct omap_i2c_dev *dev)
+{
+	u16 w;
+
+	/*
+	 * Per the I2C specification, if we are stuck in a bus busy state
+	 * we can attempt a bus clear to try and recover the bus by sending
+	 * at least 9 clock pulses on SCL. Put the I2C in a test mode so it
+	 * will output a continuous clock on SCL.
+	 */
+	w = omap_i2c_read_reg(dev, OMAP_I2C_SYSTEST_REG);
+	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN);
+	omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, (OMAP_I2C_SYSTEST_ST_EN
+			   | OMAP_I2C_SYSTEST_TMODE_TEST));
+	msleep(1);
+	omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, w);
+	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
+	omap_i2c_init(dev);
+	return omap_i2c_wait_for_bb(dev);
+}
 
 /*
  * Low level master read/write transaction.
@@ -584,6 +606,8 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 
 	r = omap_i2c_wait_for_bb(dev);
 	if (r < 0)
+		r = omap_i2c_bus_clear(dev);
+	if (r < 0)
 		goto out;
 
 	if (dev->set_mpu_wkup_lat != NULL)
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
@ 2012-06-28 15:11     ` Shubhrajyoti D
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti D @ 2012-06-28 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

From: Vikram Pandita <vikram.pandita@ti.com>

In case a peripheral is driving SDA bus low (ie. a start condition), provide
a constant clock output using the test mode of the OMAP I2C controller to
try and clear the bus. Soft reset I2C controller after attempting the bus clear
to ensure that controller is in a good state.

Based upon Vikram Pandita's patch from TI Android 3.0.
I acknowledge the contributions and suggestions of Jon and Hemant.

A couple differences from the original patch ...
1. Add a new function for bus clear
2. Ensure that the CON.I2C_EN bit is set when using the SYSTEST feature to
   output a permanent clock. This bit needs to be set and typically it would
   be set by the unidle function but this is not the case for all OMAP
   generations.
3. Program the SYSTEST setting only the bits we care about. However, restore
   SYSTEST registers to there original state as some OMAP generations do not
   implement perform a soft-reset.
4. Clear the CON register after performing the bus clear, so when we call the
   init function the controller is disabled and the init function will
   re-enable later.

Original patch can be found here:
http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=a2ab04192ba25e60f95ba1ff3af5601a2d7b5bd1

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
 drivers/i2c/busses/i2c-omap.c |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 5058dfc..2500f19 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -148,16 +148,15 @@ enum {
 #define OMAP_I2C_SCLH_HSSCLH	8
 
 /* I2C System Test Register (OMAP_I2C_SYSTEST): */
-#ifdef DEBUG
 #define OMAP_I2C_SYSTEST_ST_EN		(1 << 15)	/* System test enable */
 #define OMAP_I2C_SYSTEST_FREE		(1 << 14)	/* Free running mode */
 #define OMAP_I2C_SYSTEST_TMODE_MASK	(3 << 12)	/* Test mode select */
-#define OMAP_I2C_SYSTEST_TMODE_SHIFT	(12)		/* Test mode select */
+#define OMAP_I2C_SYSTEST_TMODE_TEST	(2 << 12)	/* Test mode select */
+#define OMAP_I2C_SYSTEST_TMODE_LOOP	(3 << 12)	/* Test mode select */
 #define OMAP_I2C_SYSTEST_SCL_I		(1 << 3)	/* SCL line sense in */
 #define OMAP_I2C_SYSTEST_SCL_O		(1 << 2)	/* SCL line drive out */
 #define OMAP_I2C_SYSTEST_SDA_I		(1 << 1)	/* SDA line sense in */
 #define OMAP_I2C_SYSTEST_SDA_O		(1 << 0)	/* SDA line drive out */
-#endif
 
 /* OCP_SYSCONFIG bit definitions */
 #define SYSC_CLOCKACTIVITY_MASK		(0x3 << 8)
@@ -458,6 +457,29 @@ static int omap_i2c_wait_for_bb(struct omap_i2c_dev *dev)
 
 	return 0;
 }
+/*
+ * Bus Clear
+ */
+static int omap_i2c_bus_clear(struct omap_i2c_dev *dev)
+{
+	u16 w;
+
+	/*
+	 * Per the I2C specification, if we are stuck in a bus busy state
+	 * we can attempt a bus clear to try and recover the bus by sending
+	 *@least 9 clock pulses on SCL. Put the I2C in a test mode so it
+	 * will output a continuous clock on SCL.
+	 */
+	w = omap_i2c_read_reg(dev, OMAP_I2C_SYSTEST_REG);
+	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN);
+	omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, (OMAP_I2C_SYSTEST_ST_EN
+			   | OMAP_I2C_SYSTEST_TMODE_TEST));
+	msleep(1);
+	omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, w);
+	omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
+	omap_i2c_init(dev);
+	return omap_i2c_wait_for_bb(dev);
+}
 
 /*
  * Low level master read/write transaction.
@@ -584,6 +606,8 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 
 	r = omap_i2c_wait_for_bb(dev);
 	if (r < 0)
+		r = omap_i2c_bus_clear(dev);
+	if (r < 0)
 		goto out;
 
 	if (dev->set_mpu_wkup_lat != NULL)
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
  2012-06-28 15:11   ` Shubhrajyoti D
@ 2012-06-28 16:03       ` ABRAHAM, KISHON VIJAY
  -1 siblings, 0 replies; 46+ messages in thread
From: ABRAHAM, KISHON VIJAY @ 2012-06-28 16:03 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ

Hi,

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org> wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
>
> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
> ---
> - Add Felipe's reviewed-by tag
>
>  drivers/i2c/busses/i2c-omap.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index b9915bb..6d05f18 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
>        w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
>        omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
>
> -       init_completion(&dev->cmd_complete);
> +       INIT_COMPLETION(dev->cmd_complete);
>        dev->cmd_err = 0;
>
>        w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT;
> @@ -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
>        }
>
>        platform_set_drvdata(pdev, dev);
> +       init_completion(&dev->cmd_complete);
It should be INIT_COMPLETION here too.

Thanks
Kishon

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
@ 2012-06-28 16:03       ` ABRAHAM, KISHON VIJAY
  0 siblings, 0 replies; 46+ messages in thread
From: ABRAHAM, KISHON VIJAY @ 2012-06-28 16:03 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
>
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> ---
> - Add Felipe's reviewed-by tag
>
> ?drivers/i2c/busses/i2c-omap.c | ? ?3 ++-
> ?1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index b9915bb..6d05f18 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
> ? ? ? ?w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
> ? ? ? ?omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
>
> - ? ? ? init_completion(&dev->cmd_complete);
> + ? ? ? INIT_COMPLETION(dev->cmd_complete);
> ? ? ? ?dev->cmd_err = 0;
>
> ? ? ? ?w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT;
> @@ -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
> ? ? ? ?}
>
> ? ? ? ?platform_set_drvdata(pdev, dev);
> + ? ? ? init_completion(&dev->cmd_complete);
It should be INIT_COMPLETION here too.

Thanks
Kishon

^ permalink raw reply	[flat|nested] 46+ messages in thread

* RE: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
  2012-06-28 16:03       ` ABRAHAM, KISHON VIJAY
@ 2012-06-29  1:34           ` Zhang, Shijie
  -1 siblings, 0 replies; 46+ messages in thread
From: Zhang, Shijie @ 2012-06-29  1:34 UTC (permalink / raw)
  To: ABRAHAM, KISHON VIJAY, Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	w.sang-bIcnvbaLZ9MEGnE8C9+IrQ

No, it should be init_completion(&dev->cmd_complete); in probe, we need to initialize the wait queue, which will be used when using "complete(......)"


-----Original Message-----
From: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-i2c-owner-fy+rA21nqHI@public.gmane.orgrnel.org] On Behalf Of ABRAHAM, KISHON VIJAY
Sent: Friday, June 29, 2012 12:03 AM
To: Shubhrajyoti D
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; 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@pengutronix.de
Subject: Re: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime

Hi,

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org> wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
>
> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
> ---
> - Add Felipe's reviewed-by tag
>
>  drivers/i2c/busses/i2c-omap.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c 
> b/drivers/i2c/busses/i2c-omap.c index b9915bb..6d05f18 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter 
> *adap,
>        w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
>        omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
>
> -       init_completion(&dev->cmd_complete);
> +       INIT_COMPLETION(dev->cmd_complete);
>        dev->cmd_err = 0;
>
>        w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT; @@ 
> -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
>        }
>
>        platform_set_drvdata(pdev, dev);
> +       init_completion(&dev->cmd_complete);
It should be INIT_COMPLETION here too.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
@ 2012-06-29  1:34           ` Zhang, Shijie
  0 siblings, 0 replies; 46+ messages in thread
From: Zhang, Shijie @ 2012-06-29  1:34 UTC (permalink / raw)
  To: linux-arm-kernel

No, it should be init_completion(&dev->cmd_complete); in probe, we need to initialize the wait queue, which will be used when using "complete(......)"


-----Original Message-----
From: linux-i2c-owner@vger.kernel.org [mailto:linux-i2c-owner at vger.kernel.org] On Behalf Of ABRAHAM, KISHON VIJAY
Sent: Friday, June 29, 2012 12:03 AM
To: Shubhrajyoti D
Cc: linux-omap at vger.kernel.org; linux-i2c at vger.kernel.org; linux-arm-kernel at lists.infradead.org; ben-linux at fluff.org; tony at atomide.com; w.sang at pengutronix.de
Subject: Re: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime

Hi,

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
>
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> ---
> - Add Felipe's reviewed-by tag
>
> ?drivers/i2c/busses/i2c-omap.c | ? ?3 ++-
> ?1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c 
> b/drivers/i2c/busses/i2c-omap.c index b9915bb..6d05f18 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -490,7 +490,7 @@ static int omap_i2c_xfer_msg(struct i2c_adapter 
> *adap,
> ? ? ? ?w |= OMAP_I2C_BUF_RXFIF_CLR | OMAP_I2C_BUF_TXFIF_CLR;
> ? ? ? ?omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, w);
>
> - ? ? ? init_completion(&dev->cmd_complete);
> + ? ? ? INIT_COMPLETION(dev->cmd_complete);
> ? ? ? ?dev->cmd_err = 0;
>
> ? ? ? ?w = OMAP_I2C_CON_EN | OMAP_I2C_CON_MST | OMAP_I2C_CON_STT; @@ 
> -999,6 +999,7 @@ omap_i2c_probe(struct platform_device *pdev)
> ? ? ? ?}
>
> ? ? ? ?platform_set_drvdata(pdev, dev);
> + ? ? ? init_completion(&dev->cmd_complete);
It should be INIT_COMPLETION here too.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo at vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 0/6] I2C cleanups
  2012-06-28 15:11 ` Shubhrajyoti D
@ 2012-07-09 11:47   ` Shubhrajyoti Datta
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti Datta @ 2012-07-09 11:47 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap, linux-i2c, linux-arm-kernel, ben-linux, tony, w.sang

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> This is a minimal cleanup series.

If there are no further comments can this series be queued?


>
> The patch series does the following
>
> - Bus busy recovery mechanism.
> - Make the i2c use SET_RUNTIME_PM_OPS
> - Use INIT_COMPLETION instead of init_completion
> - the reset patch is dropped will try to rework it as per the
>  review comments recieved.
>
>
> This applies on Wolfram's i2c-embedded/for-next branch.
>
> Functional testing on omap4430 , 4460 panda and omap3sdp.
>
>
> The following changes since commit 0f009a914b40be8786fa67b1f4345cacc263b48c:
>
>   i2c: tegra: make all resource allocation through devm_* (2012-06-13 16:01:38 +0200)
>
> are available in the git repository at:
>   git://gitorious.org/linus-tree/linus-tree.git for_next/omap/minimal_cleanup
>
> Jon Hunter (1):
>   i2c: omap: Correct I2C revision for OMAP3
>
> Shubhrajyoti D (4):
>   i2c: omap: Optimise the remove code
>   i2c: omap: Use SET_RUNTIME_PM_OPS
>   i2c: omap: Do not initialise the completion everytime
>   i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
>
> Vikram Pandita (1):
>   i2c: omap: Recover from Bus Busy condition
>
>  drivers/i2c/busses/i2c-omap.c |   60 ++++++++++++++++++++++++++++------------
>  1 files changed, 42 insertions(+), 18 deletions(-)
>
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 0/6] I2C cleanups
@ 2012-07-09 11:47   ` Shubhrajyoti Datta
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti Datta @ 2012-07-09 11:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> This is a minimal cleanup series.

If there are no further comments can this series be queued?


>
> The patch series does the following
>
> - Bus busy recovery mechanism.
> - Make the i2c use SET_RUNTIME_PM_OPS
> - Use INIT_COMPLETION instead of init_completion
> - the reset patch is dropped will try to rework it as per the
>  review comments recieved.
>
>
> This applies on Wolfram's i2c-embedded/for-next branch.
>
> Functional testing on omap4430 , 4460 panda and omap3sdp.
>
>
> The following changes since commit 0f009a914b40be8786fa67b1f4345cacc263b48c:
>
>   i2c: tegra: make all resource allocation through devm_* (2012-06-13 16:01:38 +0200)
>
> are available in the git repository at:
>   git://gitorious.org/linus-tree/linus-tree.git for_next/omap/minimal_cleanup
>
> Jon Hunter (1):
>   i2c: omap: Correct I2C revision for OMAP3
>
> Shubhrajyoti D (4):
>   i2c: omap: Optimise the remove code
>   i2c: omap: Use SET_RUNTIME_PM_OPS
>   i2c: omap: Do not initialise the completion everytime
>   i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
>
> Vikram Pandita (1):
>   i2c: omap: Recover from Bus Busy condition
>
>  drivers/i2c/busses/i2c-omap.c |   60 ++++++++++++++++++++++++++++------------
>  1 files changed, 42 insertions(+), 18 deletions(-)
>
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 1/6] i2c: omap: Optimise the remove code
  2012-06-28 15:11   ` Shubhrajyoti D
@ 2012-07-12 12:18       ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:18 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

[-- Attachment #1: Type: text/plain, Size: 477 bytes --]

On Thu, Jun 28, 2012 at 08:41:27PM +0530, Shubhrajyoti D wrote:
> The omap_i2c_remove function may not be needed after
> device exit so the memory could be freed.
> 
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>

Changed the title from "optimise" to "annotate" and pushed to next.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 1/6] i2c: omap: Optimise the remove code
@ 2012-07-12 12:18       ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:27PM +0530, Shubhrajyoti D wrote:
> The omap_i2c_remove function may not be needed after
> device exit so the memory could be freed.
> 
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Changed the title from "optimise" to "annotate" and pushed to next.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/ce7bebb4/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 2/6] i2c: omap: Use SET_RUNTIME_PM_OPS
  2012-06-28 15:11   ` Shubhrajyoti D
@ 2012-07-12 12:19     ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:19 UTC (permalink / raw)
  To: Shubhrajyoti D; +Cc: linux-omap, linux-i2c, linux-arm-kernel, ben-linux, tony

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

On Thu, Jun 28, 2012 at 08:41:28PM +0530, Shubhrajyoti D wrote:
> Use SET_RUNTIME_PM_OPS macro to set runtime functions.
> 
> Acked-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 2/6] i2c: omap: Use SET_RUNTIME_PM_OPS
@ 2012-07-12 12:19     ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:28PM +0530, Shubhrajyoti D wrote:
> Use SET_RUNTIME_PM_OPS macro to set runtime functions.
> 
> Acked-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/2c3e2dd4/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
  2012-06-28 15:11   ` Shubhrajyoti D
@ 2012-07-12 12:19       ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:19 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

[-- Attachment #1: Type: text/plain, Size: 462 bytes --]

On Thu, Jun 28, 2012 at 08:41:29PM +0530, Shubhrajyoti D wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
> 
> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
@ 2012-07-12 12:19       ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:29PM +0530, Shubhrajyoti D wrote:
> Use INIT_COMPLETION instead of init_completion in transfer.
> 
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/a025b696/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
  2012-06-28 15:11     ` Shubhrajyoti D
@ 2012-07-12 12:20         ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:20 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

[-- Attachment #1: Type: text/plain, Size: 1060 bytes --]

On Thu, Jun 28, 2012 at 08:41:30PM +0530, Shubhrajyoti D wrote:
> Remove the definition of SYSS_RESETDONE_MASK and use the
> one in omap_hwmod.h.
> 
> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
> ---
> - Add Felipe's reviewed by tag
> 
>  drivers/i2c/busses/i2c-omap.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 6d05f18..4bbf288 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -43,6 +43,7 @@
>  #include <linux/slab.h>
>  #include <linux/i2c-omap.h>
>  #include <linux/pm_runtime.h>
> +#include <plat/omap_hwmod.h>

Hmmm, so far the driver has no plat/mach dependencies and now this gets
added. Need to think about it a bit more...

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
@ 2012-07-12 12:20         ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:30PM +0530, Shubhrajyoti D wrote:
> Remove the definition of SYSS_RESETDONE_MASK and use the
> one in omap_hwmod.h.
> 
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> ---
> - Add Felipe's reviewed by tag
> 
>  drivers/i2c/busses/i2c-omap.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 6d05f18..4bbf288 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -43,6 +43,7 @@
>  #include <linux/slab.h>
>  #include <linux/i2c-omap.h>
>  #include <linux/pm_runtime.h>
> +#include <plat/omap_hwmod.h>

Hmmm, so far the driver has no plat/mach dependencies and now this gets
added. Need to think about it a bit more...

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/898892f0/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
  2012-06-28 15:11   ` Shubhrajyoti D
@ 2012-07-12 12:21       ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:21 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	Jon Hunter

[-- Attachment #1: Type: text/plain, Size: 969 bytes --]

On Thu, Jun 28, 2012 at 08:41:31PM +0530, Shubhrajyoti D wrote:
> From: Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
> 
> The OMAP3530 is based upon the same silicon as the OMAP3430 and so the I2C
> revision is the same for 3430 and 3530. However, the OMAP3630 device has the
> same I2C revision as OMAP4. Correct the revision definition to reflect this.
> 
> This patch is based on work done by Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
> Changes from his patch
> - Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530
> 
> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
@ 2012-07-12 12:21       ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:31PM +0530, Shubhrajyoti D wrote:
> From: Jon Hunter <jon-hunter@ti.com>
> 
> The OMAP3530 is based upon the same silicon as the OMAP3430 and so the I2C
> revision is the same for 3430 and 3530. However, the OMAP3630 device has the
> same I2C revision as OMAP4. Correct the revision definition to reflect this.
> 
> This patch is based on work done by Jon Hunter <jon-hunter@ti.com>
> Changes from his patch
> - Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530
> 
> Reviewed-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Jon Hunter <jon-hunter@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Applied to next, thanks.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/3b5239b1/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
  2012-06-28 15:11     ` Shubhrajyoti D
@ 2012-07-12 12:22         ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:22 UTC (permalink / raw)
  To: Shubhrajyoti D
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	Vikram Pandita, Jon Hunter

[-- Attachment #1: Type: text/plain, Size: 1972 bytes --]

On Thu, Jun 28, 2012 at 08:41:32PM +0530, Shubhrajyoti D wrote:
> From: Vikram Pandita <vikram.pandita-l0cyMroinI0@public.gmane.org>
> 
> In case a peripheral is driving SDA bus low (ie. a start condition), provide
> a constant clock output using the test mode of the OMAP I2C controller to
> try and clear the bus. Soft reset I2C controller after attempting the bus clear
> to ensure that controller is in a good state.
> 
> Based upon Vikram Pandita's patch from TI Android 3.0.
> I acknowledge the contributions and suggestions of Jon and Hemant.
> 
> A couple differences from the original patch ...
> 1. Add a new function for bus clear
> 2. Ensure that the CON.I2C_EN bit is set when using the SYSTEST feature to
>    output a permanent clock. This bit needs to be set and typically it would
>    be set by the unidle function but this is not the case for all OMAP
>    generations.
> 3. Program the SYSTEST setting only the bits we care about. However, restore
>    SYSTEST registers to there original state as some OMAP generations do not
>    implement perform a soft-reset.
> 4. Clear the CON register after performing the bus clear, so when we call the
>    init function the controller is disabled and the init function will
>    re-enable later.
> 
> Original patch can be found here:
> http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=a2ab04192ba25e60f95ba1ff3af5601a2d7b5bd1
> 
> Signed-off-by: Vikram Pandita <vikram.pandita-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>

This has to wait a little bit until I can spend time on the recovery
framework (which is still in the queue, sadly :( ). There might be some
consolidation.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
@ 2012-07-12 12:22         ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 28, 2012 at 08:41:32PM +0530, Shubhrajyoti D wrote:
> From: Vikram Pandita <vikram.pandita@ti.com>
> 
> In case a peripheral is driving SDA bus low (ie. a start condition), provide
> a constant clock output using the test mode of the OMAP I2C controller to
> try and clear the bus. Soft reset I2C controller after attempting the bus clear
> to ensure that controller is in a good state.
> 
> Based upon Vikram Pandita's patch from TI Android 3.0.
> I acknowledge the contributions and suggestions of Jon and Hemant.
> 
> A couple differences from the original patch ...
> 1. Add a new function for bus clear
> 2. Ensure that the CON.I2C_EN bit is set when using the SYSTEST feature to
>    output a permanent clock. This bit needs to be set and typically it would
>    be set by the unidle function but this is not the case for all OMAP
>    generations.
> 3. Program the SYSTEST setting only the bits we care about. However, restore
>    SYSTEST registers to there original state as some OMAP generations do not
>    implement perform a soft-reset.
> 4. Clear the CON register after performing the bus clear, so when we call the
>    init function the controller is disabled and the init function will
>    re-enable later.
> 
> Original patch can be found here:
> http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=a2ab04192ba25e60f95ba1ff3af5601a2d7b5bd1
> 
> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
> Signed-off-by: Jon Hunter <jon-hunter@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

This has to wait a little bit until I can spend time on the recovery
framework (which is still in the queue, sadly :( ). There might be some
consolidation.

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/ce96a453/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 0/6] I2C cleanups
  2012-07-09 11:47   ` Shubhrajyoti Datta
@ 2012-07-12 12:52     ` Wolfram Sang
  -1 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:52 UTC (permalink / raw)
  To: Shubhrajyoti Datta
  Cc: Shubhrajyoti D, linux-omap, linux-i2c, linux-arm-kernel, ben-linux, tony

[-- Attachment #1: Type: text/plain, Size: 1354 bytes --]

On Mon, Jul 09, 2012 at 05:17:07PM +0530, Shubhrajyoti Datta wrote:
> On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> > This is a minimal cleanup series.
> 
> If there are no further comments can this series be queued?

I just applied a few of them. BTW I get a build warning when compiling the
kernel, maybe someone is interested. It is not related to the patches, though.

===

WARNING: arch/arm/mach-omap2/built-in.o(.data+0x2b5c0): Section mismatch in reference from the variable rx51_si4713_dev to the (unknown reference) .init.data:(unknown)
The variable rx51_si4713_dev references
the (unknown reference) __initdata (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

===

I think this is what I'll pull in for the next merge window. The big OMAP
cleanup (latest version from 3. July) would then go in early into -next for
3.7. Is that OK with the omap-people?

Also, thanks to Shubhrajyoti Datta for reviewing other patches on the
i2c-list, much appreciated.

Thanks,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 0/6] I2C cleanups
@ 2012-07-12 12:52     ` Wolfram Sang
  0 siblings, 0 replies; 46+ messages in thread
From: Wolfram Sang @ 2012-07-12 12:52 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jul 09, 2012 at 05:17:07PM +0530, Shubhrajyoti Datta wrote:
> On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> > This is a minimal cleanup series.
> 
> If there are no further comments can this series be queued?

I just applied a few of them. BTW I get a build warning when compiling the
kernel, maybe someone is interested. It is not related to the patches, though.

===

WARNING: arch/arm/mach-omap2/built-in.o(.data+0x2b5c0): Section mismatch in reference from the variable rx51_si4713_dev to the (unknown reference) .init.data:(unknown)
The variable rx51_si4713_dev references
the (unknown reference) __initdata (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

===

I think this is what I'll pull in for the next merge window. The big OMAP
cleanup (latest version from 3. July) would then go in early into -next for
3.7. Is that OK with the omap-people?

Also, thanks to Shubhrajyoti Datta for reviewing other patches on the
i2c-list, much appreciated.

Thanks,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120712/7065ea3b/attachment.sig>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
  2012-07-12 12:22         ` Wolfram Sang
@ 2012-07-13 11:04             ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:04 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	Vikram Pandita, Jon Hunter

On Thursday 12 July 2012 05:52 PM, Wolfram Sang wrote:
>> Signed-off-by: Vikram Pandita <vikram.pandita-l0cyMroinI0@public.gmane.org>
>> > Signed-off-by: Jon Hunter <jon-hunter-l0cyMroinI0@public.gmane.org>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
> This has to wait a little bit until I can spend time on the recovery
> framework (which is still in the queue, sadly :( ). There might be some
> consolidation.
OK thanks.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition
@ 2012-07-13 11:04             ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 05:52 PM, Wolfram Sang wrote:
>> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
>> > Signed-off-by: Jon Hunter <jon-hunter@ti.com>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> This has to wait a little bit until I can spend time on the recovery
> framework (which is still in the queue, sadly :( ). There might be some
> consolidation.
OK thanks.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
  2012-07-12 12:21       ` Wolfram Sang
@ 2012-07-13 11:04         ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:04 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-omap, linux-i2c, linux-arm-kernel, ben-linux, tony, Jon Hunter

On Thursday 12 July 2012 05:51 PM, Wolfram Sang wrote:
>> - Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530
>> > 
>> > Reviewed-by: Felipe Balbi <balbi@ti.com>
>> > Signed-off-by: Jon Hunter <jon-hunter@ti.com>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> Applied to next, thanks.
Thanks.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3
@ 2012-07-13 11:04         ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 05:51 PM, Wolfram Sang wrote:
>> - Update OMAP_I2C_REV_ON_3430 also to reflect that it is same as 3530
>> > 
>> > Reviewed-by: Felipe Balbi <balbi@ti.com>
>> > Signed-off-by: Jon Hunter <jon-hunter@ti.com>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> Applied to next, thanks.
Thanks.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
  2012-07-12 12:20         ` Wolfram Sang
@ 2012-07-13 11:05             ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:05 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

On Thursday 12 July 2012 05:50 PM, Wolfram Sang wrote:
>> +#include <plat/omap_hwmod.h>
> Hmmm, so far the driver has no plat/mach dependencies and now this gets
> added. Need to think about it a bit more...
OK .

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK
@ 2012-07-13 11:05             ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 05:50 PM, Wolfram Sang wrote:
>> +#include <plat/omap_hwmod.h>
> Hmmm, so far the driver has no plat/mach dependencies and now this gets
> added. Need to think about it a bit more...
OK .

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
  2012-07-12 12:19       ` Wolfram Sang
@ 2012-07-13 11:05           ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:05 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

On Thursday 12 July 2012 05:49 PM, Wolfram Sang wrote:
>> Reviewed-by: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org>
> Applied to next, thanks.
Thanks

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime
@ 2012-07-13 11:05           ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 05:49 PM, Wolfram Sang wrote:
>> Reviewed-by: Felipe Balbi <balbi@ti.com>
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> Applied to next, thanks.
Thanks

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 1/6] i2c: omap: Optimise the remove code
  2012-07-12 12:18       ` Wolfram Sang
@ 2012-07-13 11:21         ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:21 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-omap, linux-i2c, linux-arm-kernel, ben-linux, tony

On Thursday 12 July 2012 05:48 PM, Wolfram Sang wrote:
> On Thu, Jun 28, 2012 at 08:41:27PM +0530, Shubhrajyoti D wrote:
>> The omap_i2c_remove function may not be needed after
>> device exit so the memory could be freed.
>>
>> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> Changed the title from "optimise" to "annotate" and pushed to next.
Thanks for fixing that.
>


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 1/6] i2c: omap: Optimise the remove code
@ 2012-07-13 11:21         ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 05:48 PM, Wolfram Sang wrote:
> On Thu, Jun 28, 2012 at 08:41:27PM +0530, Shubhrajyoti D wrote:
>> The omap_i2c_remove function may not be needed after
>> device exit so the memory could be freed.
>>
>> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> Changed the title from "optimise" to "annotate" and pushed to next.
Thanks for fixing that.
>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCHv11 0/6] I2C cleanups
  2012-07-12 12:52     ` Wolfram Sang
@ 2012-07-13 11:25         ` Shubhrajyoti
  -1 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:25 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Shubhrajyoti Datta, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg, tony-4v6yS6AI5VpBDgjK7y7TUQ

On Thursday 12 July 2012 06:22 PM, Wolfram Sang wrote:
> On Mon, Jul 09, 2012 at 05:17:07PM +0530, Shubhrajyoti Datta wrote:
>> On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org> wrote:
>>> This is a minimal cleanup series.
>> If there are no further comments can this series be queued?
> I just applied a few of them. BTW I get a build warning when compiling the
> kernel, maybe someone is interested. It is not related to the patches, though.
OK could check that.
>
> ===
>
> WARNING: arch/arm/mach-omap2/built-in.o(.data+0x2b5c0): Section mismatch in reference from the variable rx51_si4713_dev to the (unknown reference) .init.data:(unknown)
> The variable rx51_si4713_dev references
> the (unknown reference) __initdata (unknown)
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
>
> ===
>
> I think this is what I'll pull in for the next merge window. The big OMAP
> cleanup (latest version from 3. July) would then go in early into -next for
> 3.7. Is that OK with the omap-people?
>
> Also, thanks to Shubhrajyoti Datta for reviewing other patches on the
> i2c-list, much appreciated.
Thanks,

> Thanks,
>
>    Wolfram
>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCHv11 0/6] I2C cleanups
@ 2012-07-13 11:25         ` Shubhrajyoti
  0 siblings, 0 replies; 46+ messages in thread
From: Shubhrajyoti @ 2012-07-13 11:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 12 July 2012 06:22 PM, Wolfram Sang wrote:
> On Mon, Jul 09, 2012 at 05:17:07PM +0530, Shubhrajyoti Datta wrote:
>> On Thu, Jun 28, 2012 at 8:41 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
>>> This is a minimal cleanup series.
>> If there are no further comments can this series be queued?
> I just applied a few of them. BTW I get a build warning when compiling the
> kernel, maybe someone is interested. It is not related to the patches, though.
OK could check that.
>
> ===
>
> WARNING: arch/arm/mach-omap2/built-in.o(.data+0x2b5c0): Section mismatch in reference from the variable rx51_si4713_dev to the (unknown reference) .init.data:(unknown)
> The variable rx51_si4713_dev references
> the (unknown reference) __initdata (unknown)
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
>
> ===
>
> I think this is what I'll pull in for the next merge window. The big OMAP
> cleanup (latest version from 3. July) would then go in early into -next for
> 3.7. Is that OK with the omap-people?
>
> Also, thanks to Shubhrajyoti Datta for reviewing other patches on the
> i2c-list, much appreciated.
Thanks,

> Thanks,
>
>    Wolfram
>

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2012-07-13 11:25 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-28 15:11 [PATCHv11 0/6] I2C cleanups Shubhrajyoti D
2012-06-28 15:11 ` Shubhrajyoti D
2012-06-28 15:11 ` [PATCHv11 1/6] i2c: omap: Optimise the remove code Shubhrajyoti D
2012-06-28 15:11   ` Shubhrajyoti D
     [not found]   ` <1340896292-12112-2-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-07-12 12:18     ` Wolfram Sang
2012-07-12 12:18       ` Wolfram Sang
2012-07-13 11:21       ` Shubhrajyoti
2012-07-13 11:21         ` Shubhrajyoti
2012-06-28 15:11 ` [PATCHv11 2/6] i2c: omap: Use SET_RUNTIME_PM_OPS Shubhrajyoti D
2012-06-28 15:11   ` Shubhrajyoti D
2012-07-12 12:19   ` Wolfram Sang
2012-07-12 12:19     ` Wolfram Sang
2012-06-28 15:11 ` [PATCHv11 3/6] i2c: omap: Do not initialise the completion everytime Shubhrajyoti D
2012-06-28 15:11   ` Shubhrajyoti D
     [not found]   ` <1340896292-12112-4-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-28 16:03     ` ABRAHAM, KISHON VIJAY
2012-06-28 16:03       ` ABRAHAM, KISHON VIJAY
     [not found]       ` <CAAe_U6Jtoj3mixvp+vqNmkr-RC28AfNqZ0syEE5voEr+Odv3zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-29  1:34         ` Zhang, Shijie
2012-06-29  1:34           ` Zhang, Shijie
2012-07-12 12:19     ` Wolfram Sang
2012-07-12 12:19       ` Wolfram Sang
     [not found]       ` <20120712121928.GC2194-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-13 11:05         ` Shubhrajyoti
2012-07-13 11:05           ` Shubhrajyoti
     [not found] ` <1340896292-12112-1-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-28 15:11   ` [PATCHv11 4/6] i2c: omap: Remove the definition of SYSS_RESETDONE_MASK Shubhrajyoti D
2012-06-28 15:11     ` Shubhrajyoti D
     [not found]     ` <1340896292-12112-5-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-07-12 12:20       ` Wolfram Sang
2012-07-12 12:20         ` Wolfram Sang
     [not found]         ` <20120712122053.GD2194-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-13 11:05           ` Shubhrajyoti
2012-07-13 11:05             ` Shubhrajyoti
2012-06-28 15:11   ` [PATCHv11 6/6] i2c: omap: Recover from Bus Busy condition Shubhrajyoti D
2012-06-28 15:11     ` Shubhrajyoti D
     [not found]     ` <1340896292-12112-7-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-07-12 12:22       ` Wolfram Sang
2012-07-12 12:22         ` Wolfram Sang
     [not found]         ` <20120712122208.GF2194-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-13 11:04           ` Shubhrajyoti
2012-07-13 11:04             ` Shubhrajyoti
2012-06-28 15:11 ` [PATCHv11 5/6] i2c: omap: Correct I2C revision for OMAP3 Shubhrajyoti D
2012-06-28 15:11   ` Shubhrajyoti D
     [not found]   ` <1340896292-12112-6-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-07-12 12:21     ` Wolfram Sang
2012-07-12 12:21       ` Wolfram Sang
2012-07-13 11:04       ` Shubhrajyoti
2012-07-13 11:04         ` Shubhrajyoti
2012-07-09 11:47 ` [PATCHv11 0/6] I2C cleanups Shubhrajyoti Datta
2012-07-09 11:47   ` Shubhrajyoti Datta
2012-07-12 12:52   ` Wolfram Sang
2012-07-12 12:52     ` Wolfram Sang
     [not found]     ` <20120712125229.GG2194-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-07-13 11:25       ` Shubhrajyoti
2012-07-13 11:25         ` Shubhrajyoti

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.