From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 6/7] ARMV7: OMAP: I2C driver: Write more than 1 byte at a time in i2c_write
Date: Wed, 27 Jul 2011 09:53:43 +0200 [thread overview]
Message-ID: <4E2FC407.10405@denx.de> (raw)
In-Reply-To: <4E2FC14F.6080907@matrix-vision.de>
Hello Michael,
Michael Jones wrote:
> Hi Heiko,
>
> Thanks for the review.
>
> On 07/27/2011 08:07 AM, Heiko Schocher wrote:
>> Hello Michael,
>>
>> Sorry for the long delay...
>>
>> Michael Jones wrote:
>>> This allows the EEPROM layer to send a single i2c write command
>>> per page, and wait CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS between
>>> i2c write commands.
>>>
>>> Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
>>> ---
>>> Changes for v2:
>>> - None. Resubmitting to include custodian in cc:
>>>
>>> drivers/i2c/omap24xx_i2c.c | 134 ++++++++++++++++++-------------------------
>>> 1 files changed, 56 insertions(+), 78 deletions(-)
>>>
>>> diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
>>> index 966ffc4..4ae03bc 100644
>>> --- a/drivers/i2c/omap24xx_i2c.c
>>> +++ b/drivers/i2c/omap24xx_i2c.c
>> [...]
>>> @@ -372,26 +301,75 @@ int i2c_read (uchar chip, uint addr, int alen, uchar * buffer, int len)
>>> int i2c_write (uchar chip, uint addr, int alen, uchar * buffer, int len)
>>> {
>>> int i;
>>> + u16 status;
>>> + int i2c_error = 0;
>>>
>>> if (alen > 1) {
>>> - printf ("I2C read: addr len %d not supported\n", alen);
>>> + printf("I2C write: addr len %d not supported\n", alen);
>>> return 1;
>>> }
>>>
>>> if (addr + len > 256) {
>>> - printf ("I2C read: address out of range\n");
>>> + printf("I2C write: address 0x%x + 0x%x out of range\n");
>>> return 1;
>>> }
>>>
>>> + /* wait until bus not busy */
>>> + wait_for_bb();
>>> +
>>> + /* start address phase - will write regoffset + len bytes data */
>>> + /* TODO consider case when !CONFIG_OMAP243X/34XX/44XX */
>> Do we have this usecase?
>
> I don't know, I assumed so, as there is the following #ifdef in the part
> I removed:
>
> #if defined(CONFIG_OMAP243X) || defined(CONFIG_OMAP34XX) || \
> defined(CONFIG_OMAP44XX)
> #else
> /* there is code here that I didn't consider when replacing it. */
> #endif
Hmm.. I have to look at this deeper, but your patch shouldn;t break
any existing board...
>>> + writew(alen+len, &i2c_base->cnt);
>> please change to "alen + len"
>
> OK. I thought checkpatch.pl would've found that.
Yes, I also checked your patch with checkpatch, but it didn;t found
this ...
>>> + /* set slave address */
>>> + writew(chip, &i2c_base->sa);
>>> + /* stop bit needed here */
>>> + writew(I2C_CON_EN | I2C_CON_MST | I2C_CON_STT | I2C_CON_TRX |
>>> + I2C_CON_STP, &i2c_base->con);
>>> +
>>> + /* Send address byte */
>>> + status = wait_for_pin();
>>> +
>>> + if (status == 0 || status & I2C_STAT_NACK) {
>>> + i2c_error = 1;
>>> + printf("%s:%d error status=0x%x\n", __func__, __LINE__, status);
>> Can you change this printf to output some more info, instead __func__, __LINE__?
>
> OK, I will make these more informative. Do you not want __func__ to be
> in the output? I originally put __LINE__ in as well because the strings
> were otherwise identical, so I'm fine with getting rid of that once the
> messages are unique.
Thanks! I think, we don;t need __func__ and __LINE__, if you make
informative printfs ...
> [snip]
>
>> bye,
>> Heiko
>
> Question about cosmetics: the README says "In sources originating from
> U-Boot a style corresponding to "Lindent -pcs" (adding spaces before
> parameters to function calls) is actually used." Currently this is not
> uniform in this file, because checkpatch.pl doesn't like the spaces
> between function names and '(' (and neither do I). Are there supposed to
> be such spaces in U-Boot code? Or can we uniformly remove them in this file?
We should get this "checkpatch compatible". If you do such a
cosmetic change, please split this in a seperate patch, thanks!
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2011-07-27 7:53 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-15 9:09 [U-Boot] [PATCH 0/7] OMAP3: Add support for mvBlueLYNX-X Michael Jones
2011-07-15 9:09 ` [U-Boot] [PATCH 1/7] fpga: add #define for Altera Cyclone EP3C5 Michael Jones
2011-07-28 14:46 ` Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 2/7] fpga: support FPP Cyclone configuration Michael Jones
2011-07-28 14:47 ` Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 3/7] ARMV7: OMAP3: Add 37xx ESx revision numbers Michael Jones
2011-07-18 14:36 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-15 9:09 ` [U-Boot] [PATCH 4/7] mmc: rescan fails on empty slot Michael Jones
2011-07-18 14:40 ` [U-Boot] [PATCH v2 " Michael Jones
2011-08-17 2:15 ` Andy Fleming
2011-08-17 2:30 ` Andy Fleming
2011-08-17 7:46 ` Michael Jones
2011-07-19 2:06 ` [U-Boot] [PATCH " Jaehoon Chung
2011-07-20 8:51 ` Michael Jones
2011-07-20 9:52 ` Jaehoon Chung
2011-07-15 9:09 ` [U-Boot] [PATCH 5/7] mv_common.c: don't compile reset_environment if ENV_IS_NOWHERE Michael Jones
2011-07-18 14:45 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-28 14:49 ` Wolfgang Denk
2011-07-18 17:39 ` [U-Boot] [PATCH " Mike Frysinger
2011-07-15 9:09 ` [U-Boot] [PATCH 6/7] ARMV7: OMAP: I2C driver: Write more than 1 byte at a time in i2c_write Michael Jones
2011-07-18 14:58 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-27 6:07 ` Heiko Schocher
2011-07-27 7:42 ` Michael Jones
2011-07-27 7:53 ` Heiko Schocher [this message]
2011-07-27 12:41 ` [U-Boot] [PATCH v3] " Michael Jones
2011-07-27 12:41 ` [U-Boot] [PATCH] ARMV7: OMAP: I2C driver: cosmetic: make checkpatch-compatible Michael Jones
2011-08-01 9:12 ` [U-Boot] [PATCH v3] ARMV7: OMAP: I2C driver: Write more than 1 byte at a time in i2c_write Heiko Schocher
2011-08-01 10:14 ` [U-Boot] [PATCH v4] " Michael Jones
2011-08-02 6:37 ` Heiko Schocher
2011-09-04 17:59 ` Paulraj, Sandeep
2011-09-05 5:34 ` Heiko Schocher
2011-07-27 21:00 ` [U-Boot] [PATCH v2 6/7] " Wolfgang Denk
2011-07-15 9:09 ` [U-Boot] [PATCH 7/7] OMAP3: mvblx: Initial support for mvBlueLYNX-X Michael Jones
2011-07-18 15:00 ` [U-Boot] [PATCH v2 " Michael Jones
2011-07-27 9:57 ` Igor Grinberg
2011-08-04 13:46 ` [U-Boot] [PATCH v3] " Michael Jones
2011-10-06 22:06 ` Wolfgang Denk
2011-08-17 8:55 ` [U-Boot] [PATCH v4] " Michael Jones
2011-10-06 21:51 ` Wolfgang Denk
2011-10-07 9:06 ` Michael Jones
2011-10-09 19:59 ` Wolfgang Denk
2011-10-05 15:08 ` [U-Boot] [PATCH v5] " Michael Jones
2011-10-10 15:08 ` [U-Boot] [PATCH v6] " Michael Jones
2011-10-18 17:31 ` [U-Boot] [PATCH v5] " Tom Rini
2011-10-19 8:16 ` Michael Jones
2011-10-20 11:37 ` [U-Boot] [PATCH] mv_common.c: get rid of 'defined but not used' warning Michael Jones
2011-10-20 11:48 ` Andre Schwarz
2011-12-03 12:32 ` Anatolij Gustschin
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=4E2FC407.10405@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is 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.