linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2 15/18] I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
Date: Wed, 9 Mar 2011 14:49:05 +0100	[thread overview]
Message-ID: <4D778551.5010900@ti.com> (raw)
In-Reply-To: <20110308110912.23531.6379.stgit@otae.warmcat.com>

Hi Andy,

On 3/8/2011 12:09 PM, Andy Green wrote:
> This adds the new functionality flags for omap i2c unit to all OMAP2
> hwmod definitions
> 
> Cc: patches at linaro.org
> Cc: Ben Dooks<ben-linux@fluff.org>
> Reported-by: Peter Maydell<peter.maydell@linaro.org>
> Signed-off-by: Andy Green<andy.green@linaro.org>

I have one minor comment about the OMAP4 dev_attr position in the structure. The point here is just to be aligned with the template used by the generator.

Acked-by: Benoit Cousson <b-cousson@ti.com>

> ---
> 
>   arch/arm/mach-omap2/omap_hwmod_2420_data.c |    7 ++++++-
>   arch/arm/mach-omap2/omap_hwmod_2430_data.c |    3 +++
>   arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    9 +++++++++
>   arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    9 +++++++++
>   4 files changed, 27 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> index de92d75..fe70365 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
> @@ -1450,7 +1450,12 @@ static struct omap_hwmod_class i2c_class = {
>   	.rev		= OMAP_I2C_IP_VERSION_1,
>   };
> 
> -static struct omap_i2c_dev_attr i2c_dev_attr;
> +static struct omap_i2c_dev_attr i2c_dev_attr = {
> +	.flags		= OMAP_I2C_FLAG_NO_FIFO |
> +			  OMAP_I2C_FLAG_SIMPLE_CLOCK |
> +			  OMAP_I2C_FLAG_16BIT_DATA_REG |
> +			  OMAP_I2C_FLAG_BUS_SHIFT_2,
> +};
> 
>   /* I2C1 */
> 
> diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> index d737b99..a30b100 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
> @@ -1527,6 +1527,9 @@ static struct omap_hwmod_class i2c_class = {
> 
>   static struct omap_i2c_dev_attr i2c_dev_attr = {
>   	.fifo_depth	= 8, /* bytes */
> +	.flags		= OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
> +			  OMAP_I2C_FLAG_BUS_SHIFT_2 |
> +			  OMAP_I2C_FLAG_FORCE_19200_INT_CLK,
>   };
> 
>   /* I2C1 */
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 324162d..f804e78 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -1876,6 +1876,9 @@ static struct omap_hwmod omap3xxx_dss_venc_hwmod = {
> 
>   static struct omap_i2c_dev_attr i2c1_dev_attr = {
>   	.fifo_depth	= 8, /* bytes */
> +	.flags = OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
> +		 OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
> +		 OMAP_I2C_FLAG_BUS_SHIFT_2,
>   };
> 
>   static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
> @@ -1919,6 +1922,9 @@ static struct omap_hwmod omap3xxx_i2c1_hwmod = {
> 
>   static struct omap_i2c_dev_attr i2c2_dev_attr = {
>   	.fifo_depth	= 8, /* bytes */
> +	.flags = OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
> +		 OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
> +		 OMAP_I2C_FLAG_BUS_SHIFT_2,
>   };
> 
>   static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
> @@ -1962,6 +1968,9 @@ static struct omap_hwmod omap3xxx_i2c2_hwmod = {
> 
>   static struct omap_i2c_dev_attr i2c3_dev_attr = {
>   	.fifo_depth	= 64, /* bytes */
> +	.flags = OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
> +		 OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
> +		 OMAP_I2C_FLAG_BUS_SHIFT_2,
>   };
> 
>   static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
> diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> index 4b903c7..bad4b8e 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> @@ -27,6 +27,7 @@
>   #include<plat/mcspi.h>
>   #include<plat/mcbsp.h>
>   #include<plat/mmc.h>
> +#include<plat/i2c.h>
> 
>   #include "omap_hwmod_common_data.h"
> 
> @@ -2090,6 +2091,10 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
>   	.rev	= OMAP_I2C_IP_VERSION_2,
>   };
> 

The generator is adding a (probably useless...) comment on top of the structure. For the comment I'd prefer to stick to the template. I'll do a massive cleanup when every OMAP4 drivers will be migrated to hwmod. And then OMAP2 & 3 at some point will stick to that as well.

> +static struct omap_i2c_dev_attr i2c_dev_attr = {
> +	.flags  = OMAP_I2C_FLAG_BUS_SHIFT_NONE,
> +};
> +
>   /* i2c1 */
>   static struct omap_hwmod omap44xx_i2c1_hwmod;
>   static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {
> @@ -2140,6 +2145,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
>   	},

dev_attr is there in the template:

 +	.dev_attr	=&i2c_dev_attr,

>   	.slaves		= omap44xx_i2c1_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c1_slaves),
> +	.dev_attr	=&i2c_dev_attr,
>   	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
>   };
> 
> @@ -2193,6 +2199,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
>   	},
>   	.slaves		= omap44xx_i2c2_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c2_slaves),
> +	.dev_attr	=&i2c_dev_attr,
>   	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
>   };
> 
> @@ -2246,6 +2253,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
>   	},
>   	.slaves		= omap44xx_i2c3_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c3_slaves),
> +	.dev_attr	=&i2c_dev_attr,
>   	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
>   };
> 
> @@ -2299,6 +2307,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
>   	},
>   	.slaves		= omap44xx_i2c4_slaves,
>   	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c4_slaves),
> +	.dev_attr	=&i2c_dev_attr,
>   	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
>   };

The OMAP4 part should look like the patch below. I've just updated the scripts to add the new data you introduced.

Regards,
Benoit

---
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index d3b2a46..d8365dc 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -27,6 +27,7 @@
 #include <plat/mcspi.h>
 #include <plat/mcbsp.h>
 #include <plat/mmc.h>
+#include <plat/i2c.h>
 
 #include "omap_hwmod_common_data.h"
 
@@ -2090,6 +2091,11 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
 	.rev	= OMAP_I2C_IP_VERSION_2,
 };
 
+/* i2c dev_attr */
+static struct omap_i2c_dev_attr i2c_dev_attr = {
+	.flags	= OMAP_I2C_FLAG_BUS_SHIFT_NONE,
+};
+
 /* i2c1 */
 static struct omap_hwmod omap44xx_i2c1_hwmod;
 static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {
@@ -2138,6 +2144,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_L4PER_I2C1_CLKCTRL,
 		},
 	},
+	.dev_attr	= &i2c_dev_attr,
 	.slaves		= omap44xx_i2c1_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c1_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -2191,6 +2198,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_L4PER_I2C2_CLKCTRL,
 		},
 	},
+	.dev_attr	= &i2c_dev_attr,
 	.slaves		= omap44xx_i2c2_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c2_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -2244,6 +2252,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_L4PER_I2C3_CLKCTRL,
 		},
 	},
+	.dev_attr	= &i2c_dev_attr,
 	.slaves		= omap44xx_i2c3_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c3_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
@@ -2297,6 +2306,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
 			.clkctrl_reg = OMAP4430_CM_L4PER_I2C4_CLKCTRL,
 		},
 	},
+	.dev_attr	= &i2c_dev_attr,
 	.slaves		= omap44xx_i2c4_slaves,
 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c4_slaves),
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-- 
1.7.0.4

  reply	other threads:[~2011-03-09 13:49 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-08 11:07 [PATCH 2 00/18] I2C: OMAP: Fixes and removal of cpu_... from driver Andy Green
2011-03-08 11:07 ` [PATCH 2 01/18] I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c Andy Green
2011-03-08 21:48   ` Cousson, Benoit
2011-03-08 23:14   ` Paul Walmsley
2011-03-08 11:07 ` [PATCH 2 02/18] I2C: OMAP2+: Name registers in I2C IP V2 only accordingly Andy Green
2011-03-08 11:07 ` [PATCH 2 03/18] I2C: OMAP2+: Introduce I2C IP versioning constants Andy Green
2011-03-08 11:07 ` [PATCH 2 04/18] I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision Andy Green
2011-03-08 22:08   ` Cousson, Benoit
2011-03-08 11:07 ` [PATCH 2 05/18] I2C: OMAP: add rev to omap i2c platform data Andy Green
2011-03-08 11:08 ` [PATCH 2 06/18] I2C: OMAP1: set IP revision in " Andy Green
2011-03-08 11:08 ` [PATCH 2 07/18] I2C: OMAP2+: Pass hwmod rev knowledge via platform_data when i2c bus added Andy Green
2011-03-08 11:08 ` [PATCH 2 08/18] I2C: OMAP2+: use platform_data ip revision to select register map Andy Green
2011-03-08 11:08 ` [PATCH 2 09/18] I2C: OMAP2+: Solve array bounds overflow error on i2c idle Andy Green
2011-03-08 11:08 ` [PATCH 2 10/18] I2C: OMAP2+: address confused probed version naming Andy Green
2011-03-08 11:08 ` [PATCH 2 11/18] I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32 Andy Green
2011-03-08 11:08 ` [PATCH 2 12/18] I2C: OMAP1/OMAP2+: add flags field to omap i2c platform data Andy Green
2011-03-08 11:08 ` [PATCH 2 13/18] I2C: OMAP2+: Pass flags up to omap i2c platform_data as well Andy Green
2011-03-08 11:09 ` [PATCH 2 14/18] I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test Andy Green
2011-03-09 14:33   ` Krishnamoorthy, Balaji T
     [not found]   ` <AANLkTi=KjWq9B9Bt90Th72=tXF2BfEv1p1Z-0=Sk1Z+t@mail.gmail.com>
2011-03-09 15:18     ` Andy Green
2011-03-09 15:56       ` Cousson, Benoit
2011-03-08 11:09 ` [PATCH 2 15/18] I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr Andy Green
2011-03-09 13:49   ` Cousson, Benoit [this message]
2011-03-09 14:04     ` Andy Green
2011-03-09 15:43       ` Cousson, Benoit
2011-03-08 11:09 ` [PATCH 2 16/18] I2C: OMAP1: set i2c unit feature implementation flags in platform data Andy Green
2011-03-08 11:09 ` [PATCH 2 17/18] I2C: OMAP2+: Convert omap I2C driver to use feature implementation flags from " Andy Green
2011-03-08 11:09 ` [PATCH 2 18/18] I2C: OMAP1/OMAP2+: prepend I2C IP version to probed version shown in dev_info Andy Green
2011-03-08 21:36 ` [PATCH 2 00/18] I2C: OMAP: Fixes and removal of cpu_... from driver Cousson, Benoit
2011-03-08 23:38   ` Tony Lindgren
2011-03-09 14:02     ` Cousson, Benoit
2011-03-09 19:11       ` Tony Lindgren
2011-03-14 17:42         ` Tony Lindgren
2011-03-14 17:57           ` Andy Green

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=4D778551.5010900@ti.com \
    --to=b-cousson@ti.com \
    --cc=linux-arm-kernel@lists.infradead.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 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).