[PATCH] i2c-viapro: Improve register dump
Improve the register dump used to debug the i2c-viapro driver. The original dump was missing the HSTSTS register and the block data buffer. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/i2c/busses/i2c-viapro.c | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-)
This commit is contained in:
parent
50c1cc339c
commit
ed5453e54f
1 changed files with 30 additions and 8 deletions
|
@ -104,6 +104,30 @@ static struct i2c_adapter vt596_adapter;
|
||||||
#define FEATURE_I2CBLOCK (1<<0)
|
#define FEATURE_I2CBLOCK (1<<0)
|
||||||
static unsigned int vt596_features;
|
static unsigned int vt596_features;
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
static void vt596_dump_regs(const char *msg, u8 size)
|
||||||
|
{
|
||||||
|
dev_dbg(&vt596_adapter.dev, "%s: STS=%02x CNT=%02x CMD=%02x ADD=%02x "
|
||||||
|
"DAT=%02x,%02x\n", msg, inb_p(SMBHSTSTS), inb_p(SMBHSTCNT),
|
||||||
|
inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0),
|
||||||
|
inb_p(SMBHSTDAT1));
|
||||||
|
|
||||||
|
if (size == VT596_BLOCK_DATA
|
||||||
|
|| size == VT596_I2C_BLOCK_DATA) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
dev_dbg(&vt596_adapter.dev, "BLK=");
|
||||||
|
for (i = 0; i < I2C_SMBUS_BLOCK_MAX / 2; i++)
|
||||||
|
printk("%02x,", inb_p(SMBBLKDAT));
|
||||||
|
printk("\n");
|
||||||
|
dev_dbg(&vt596_adapter.dev, " ");
|
||||||
|
for (; i < I2C_SMBUS_BLOCK_MAX - 1; i++)
|
||||||
|
printk("%02x,", inb_p(SMBBLKDAT));
|
||||||
|
printk("%02x\n", inb_p(SMBBLKDAT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Return -1 on error, 0 on success */
|
/* Return -1 on error, 0 on success */
|
||||||
static int vt596_transaction(u8 size)
|
static int vt596_transaction(u8 size)
|
||||||
{
|
{
|
||||||
|
@ -111,10 +135,9 @@ static int vt596_transaction(u8 size)
|
||||||
int result = 0;
|
int result = 0;
|
||||||
int timeout = 0;
|
int timeout = 0;
|
||||||
|
|
||||||
dev_dbg(&vt596_adapter.dev, "Transaction (pre): CNT=%02x, CMD=%02x, "
|
#ifdef DEBUG
|
||||||
"ADD=%02x, DAT0=%02x, DAT1=%02x\n", inb_p(SMBHSTCNT),
|
vt596_dump_regs("Transaction (pre)", size);
|
||||||
inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0),
|
#endif
|
||||||
inb_p(SMBHSTDAT1));
|
|
||||||
|
|
||||||
/* Make sure the SMBus host is ready to start transmitting */
|
/* Make sure the SMBus host is ready to start transmitting */
|
||||||
if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
|
if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
|
||||||
|
@ -169,10 +192,9 @@ static int vt596_transaction(u8 size)
|
||||||
if (temp & 0x1F)
|
if (temp & 0x1F)
|
||||||
outb_p(temp, SMBHSTSTS);
|
outb_p(temp, SMBHSTSTS);
|
||||||
|
|
||||||
dev_dbg(&vt596_adapter.dev, "Transaction (post): CNT=%02x, CMD=%02x, "
|
#ifdef DEBUG
|
||||||
"ADD=%02x, DAT0=%02x, DAT1=%02x\n", inb_p(SMBHSTCNT),
|
vt596_dump_regs("Transaction (post)", size);
|
||||||
inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0),
|
#endif
|
||||||
inb_p(SMBHSTDAT1));
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue