[PATCH] Bugfixes for i2c-cpm.c

Wolfram Sang
2008-06-20T08:41:55Z

[-- Attachment #1.1: Type: text/plain, Size: 2164 bytes --]

Bugfixes to the i2c-cpm driver

- enable correct interrupts (I2CER_TXE instead of I2CER_BUSY)
- replace forgotten iic with i2c
- fix typo (devided)
- prefix debug-output on init with 0x and add frequency

Signed-off-by: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
---
Sorry for the resend; the CC to Jochen was dropped, haven't figured out
why, yet.

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

Index: drivers/i2c/busses/i2c-cpm.c
===================================================================
--- drivers/i2c/busses/i2c-cpm.c.orig
+++ drivers/i2c/busses/i2c-cpm.c
@@ -241,7 +241,7 @@
eieio();
setbits16(&tbdf->cbd_sc, BD_SC_READY);
} else {
- dev_dbg(&adap->dev, "cpm_iic_write(abyte=0x%x)\n", addr);
+ dev_dbg(&adap->dev, "cpm_i2c_write(abyte=0x%x)\n", addr);

memcpy(tb+1, pmsg->buf, pmsg->len);

@@ -350,7 +350,7 @@
}
/* Start transfer now */
/* Enable RX/TX/Error interupts */
- out_8(&i2c_reg->i2cmr, I2CER_BUSY | I2CER_TXB | I2CER_RXB);
+ out_8(&i2c_reg->i2cmr, I2CER_TXE | I2CER_TXB | I2CER_RXB);
out_8(&i2c_reg->i2cer, 0xff); /* Clear interrupt status */
/* Chip bug, set enable here */
setbits8(&i2c_reg->i2mod, I2MOD_EN); /* Enable */
@@ -553,8 +553,8 @@

cpm_reset_i2c_params(cpm);

- dev_dbg(&cpm->ofdev->dev, "i2c_ram %p, i2c_addr 0x%04x\n",
- cpm->i2c_ram, cpm->i2c_addr);
+ dev_dbg(&cpm->ofdev->dev, "i2c_ram 0x%p, i2c_addr 0x%04x, freq %d\n",
+ cpm->i2c_ram, cpm->i2c_addr, cpm->freq);
dev_dbg(&cpm->ofdev->dev, "tbase 0x%04x, rbase 0x%04x\n",
(u8 __iomem *)cpm->tbase - DPRAM_BASE,
(u8 __iomem *)cpm->rbase - DPRAM_BASE);
@@ -568,7 +568,7 @@

/*
* PDIV is set to 00 in i2mod, so brgclk/32 is used as input to the
- * i2c baud rate generator. This is devided by 2 x (DIV + 3) to get
+ * i2c baud rate generator. This is divided by 2 x (DIV + 3) to get
* the actual i2c bus frequency.
*/
brg = get_brgfreq() / (32 * 2 * cpm->freq) - 3;

--
Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]