[U-Boot] [PATCH 16/24] mxc_i2c: prep work for multiple busses support
Heiko Schocher
hs at denx.de
Sun Jun 24 10:47:15 CEST 2012
Hello Troy,
On 22.06.2012 06:12, Troy Kisky wrote:
> Signed-off-by: Troy Kisky<troy.kisky at boundarydevices.com>
> ---
> drivers/i2c/mxc_i2c.c | 121 ++++++++++++++++++++++++++++++++++++++++---------
> 1 file changed, 100 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
> index cb061f7..ec05798 100644
> --- a/drivers/i2c/mxc_i2c.c
> +++ b/drivers/i2c/mxc_i2c.c
[...]
> @@ -359,10 +351,97 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
> return ret;
> }
>
> +typedef void (*toggle_i2c_fn)(void *p);
> +
> +#ifdef CONFIG_I2C_MULTI_BUS
> +static unsigned g_bus;
This is only valid after relocation ... and i2c is maybe used before
relocation.
Try something (not tested) like that:
static unsigned int __attribute__((section (".data"))) g_bus = 0;
> +#else
> +#define g_bus 0
> +#endif
> +
> +struct i2c_parms {
> + void *base;
> + void *toggle_data;
> + toggle_i2c_fn toggle_fn;
For what is this toggle_* needed?
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list