From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] OMAP3 and 4 i2c mark extended reg enums as extended only
Date: Thu, 3 Mar 2011 22:33:11 +0100 [thread overview]
Message-ID: <4D700917.70105@ti.com> (raw)
In-Reply-To: <20110303135037.30648.90406.stgit@otae.warmcat.com>
On 3/3/2011 2:50 PM, Andy Green wrote:
> The OMAP I2C driver dynamically chooses between two register sets of
> differing sizes depending on the cpu type it finds itself on.
>
> It has been observed that the existing code references non-existing
> registers on OMAP3530, because while it correctly chose the smaller
> register layout based on cpu type, the code uses the probed register
> ID to decide if to execute code referencing an extra register, and
> both register layout devices on OMAP3530 and OMAP4430 report the same
> probed ID of 0x40.
Since it is a patch on the I2C driver, the subject should start with
something like "I2C: OMAP2+: XXXXX". That comment is also applicable for
the other patches of the series except the first one.
> This patch changes the extended register name to make it clearer
> they only exist in OMAP4 context
>
> Cc: patches at linaro.org
> Reported-by: Peter Maydell<peter.maydell@linaro.org>
> Signed-off-by: Andy Green<andy.green@linaro.org>
The I2C maintainer should be in CC as well.
> ---
>
> drivers/i2c/busses/i2c-omap.c | 23 ++++++++++++-----------
> 1 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index d6500ec..e09c62d 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -72,11 +72,12 @@ enum {
> OMAP_I2C_SCLH_REG,
> OMAP_I2C_SYSTEST_REG,
> OMAP_I2C_BUFSTAT_REG,
> - OMAP_I2C_REVNB_LO,
> - OMAP_I2C_REVNB_HI,
> - OMAP_I2C_IRQSTATUS_RAW,
> - OMAP_I2C_IRQENABLE_SET,
> - OMAP_I2C_IRQENABLE_CLR,
> + /* only on OMAP4430 */
> + OMAP_I2C_OMAP4430_REVNB_LO,
> + OMAP_I2C_OMAP4430_REVNB_HI,
> + OMAP_I2C_OMAP4430_IRQSTATUS_RAW,
> + OMAP_I2C_OMAP4430_IRQENABLE_SET,
I think that you should keep only the comment, because it is not really
recommended to add SoC related information directly in IP register names.
These new registers are just an evolution of the I2C IP. The first
instances of that version are used in OMAP4 first, but OMAP4 variants
(4440) and OMAP5 will use the same one.
Bottom line is that we can probably drop that patch from the series.
Regards,
Benoit
> + OMAP_I2C_OMAP4430_IRQENABLE_CLR,
> };
>
> /* I2C Interrupt Enable Register (OMAP_I2C_IE): */
> @@ -244,11 +245,11 @@ const static u8 omap4_reg_map[] = {
> [OMAP_I2C_SCLH_REG] = 0xb8,
> [OMAP_I2C_SYSTEST_REG] = 0xbC,
> [OMAP_I2C_BUFSTAT_REG] = 0xc0,
> - [OMAP_I2C_REVNB_LO] = 0x00,
> - [OMAP_I2C_REVNB_HI] = 0x04,
> - [OMAP_I2C_IRQSTATUS_RAW] = 0x24,
> - [OMAP_I2C_IRQENABLE_SET] = 0x2c,
> - [OMAP_I2C_IRQENABLE_CLR] = 0x30,
> + [OMAP_I2C_OMAP4430_REVNB_LO] = 0x00,
> + [OMAP_I2C_OMAP4430_REVNB_HI] = 0x04,
> + [OMAP_I2C_OMAP4430_IRQSTATUS_RAW] = 0x24,
> + [OMAP_I2C_OMAP4430_IRQENABLE_SET] = 0x2c,
> + [OMAP_I2C_OMAP4430_IRQENABLE_CLR] = 0x30,
> };
>
> static inline void omap_i2c_write_reg(struct omap_i2c_dev *i2c_dev,
> @@ -309,7 +310,7 @@ static void omap_i2c_idle(struct omap_i2c_dev *dev)
>
> dev->iestate = omap_i2c_read_reg(dev, OMAP_I2C_IE_REG);
> if (dev->rev>= OMAP_I2C_REV_ON_4430)
> - omap_i2c_write_reg(dev, OMAP_I2C_IRQENABLE_CLR, 1);
> + omap_i2c_write_reg(dev, OMAP_I2C_OMAP4430_IRQENABLE_CLR, 1);
> else
> omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, 0);
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-03-03 21:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-03 13:50 [PATCH 0/4] OMAP 3 and 4 i2c fixes Andy Green
2011-03-03 13:50 ` [PATCH 1/4] OMAP3 and 4 hwmod I2C units only allow 16 bit access Andy Green
2011-03-03 17:42 ` Cousson, Benoit
2011-03-03 17:56 ` Andy Green
2011-03-03 20:40 ` Cousson, Benoit
2011-03-04 8:33 ` Andy Green
2011-03-04 10:05 ` Cousson, Benoit
2011-03-04 15:20 ` Cousson, Benoit
2011-03-03 13:50 ` [PATCH 2/4] OMAP3 I2C document why cpu type and not peripheral unit ID used to probe Andy Green
2011-03-03 21:12 ` Cousson, Benoit
2011-03-04 8:25 ` Andy Green
2011-03-03 13:50 ` [PATCH 3/4] OMAP3 and 4 i2c mark extended reg enums as extended only Andy Green
2011-03-03 21:33 ` Cousson, Benoit [this message]
2011-03-04 8:32 ` Andy Green
2011-03-04 10:05 ` Cousson, Benoit
2011-03-03 13:50 ` [PATCH 4/4] OMAP3 and 4 I2C use cpu type consistently for new register availability Andy Green
2011-03-03 21:45 ` Cousson, Benoit
2011-03-03 21:55 ` [PATCH 0/4] OMAP 3 and 4 i2c fixes Cousson, Benoit
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=4D700917.70105@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).