[U-Boot] [PATCH 02/55] dm: i2c: Add a message debug function
Heiko Schocher denx
hs at denx.de
Fri Jul 3 08:52:53 CEST 2015
Hello Simon,
Am 03.07.2015 um 02:15 schrieb Simon Glass:
> Add a way to dump the contents of an I2C message for debugging purposes.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> drivers/i2c/i2c-uclass.c | 16 ++++++++++++++++
> include/i2c.h | 10 ++++++++++
> 2 files changed, 26 insertions(+)
Acked-by: Heiko Schocher <hs at denx.de>
bye,
Heiko
>
> diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
> index eaba965..42d6e89 100644
> --- a/drivers/i2c/i2c-uclass.c
> +++ b/drivers/i2c/i2c-uclass.c
> @@ -18,6 +18,22 @@ DECLARE_GLOBAL_DATA_PTR;
>
> #define I2C_MAX_OFFSET_LEN 4
>
> +/* Useful debugging function */
> +void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs)
> +{
> + int i;
> +
> + for (i = 0; i < nmsgs; i++) {
> + struct i2c_msg *m = &msg[i];
> +
> + printf(" %s %x len=%x", m->flags & I2C_M_RD ? "R" : "W",
> + msg->addr, msg->len);
> + if (!(m->flags & I2C_M_RD))
> + printf(": %x", m->buf[0]);
> + printf("\n");
> + }
> +}
> +
> /**
> * i2c_setup_offset() - Set up a new message with a chip offset
> *
> diff --git a/include/i2c.h b/include/i2c.h
> index 9300d97..a5498a3 100644
> --- a/include/i2c.h
> +++ b/include/i2c.h
> @@ -473,6 +473,16 @@ int i2c_get_chip_for_busnum(int busnum, int chip_addr, uint offset_len,
> int i2c_chip_ofdata_to_platdata(const void *blob, int node,
> struct dm_i2c_chip *chip);
>
> +/**
> + * i2c_dump_msgs() - Dump a list of I2C messages
> + *
> + * This may be useful for debugging.
> + *
> + * @msg: Message list to dump
> + * @nmsgs: Number of messages
> + */
> +void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs);
> +
> #ifndef CONFIG_DM_I2C
>
> /*
>
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list