[U-Boot] [PATCH V1 1/1] EXYNOS: Resolve the i2c compilation error for

Albert ARIBAUD albert.u.boot at aribaud.net
Tue Jul 9 16:45:27 CEST 2013


Hi amar_g,

On Tue, 09 Jul 2013 19:35:40 +0530, amar_g <amarendra.xt at samsung.com>
wrote:

> This patch resolves the below mentiond compilation error of i2c driver 
> for non-FDT case
> 
> Compilation error:
---8<---
> s3c24x0_i2c.c: In function 'board_i2c_init':
> s3c24x0_i2c.c:544:18: error: 'CONFIG_MAX_I2C_NUM' undeclared (first use
> in this function) s3c24x0_i2c.c:544:18: note: each undeclared
> identifier is reported only once for each function it appears in
> s3c24x0_i2c.c:545:3: warning: implicit declaration of function
> 'exynos_pinmux_config' [-Wimplicit-function-declaration]
> s3c24x0_i2c.c:545:25: error: 'PERIPH_ID_I2C0' undeclared (first use in
> this function) s3c24x0_i2c.c:546:10: error: 'PINMUX_FLAG_NONE'
> undeclared (first use in this function)
---8<---

Please limit info to the error message between 8< above, or better yet,
just mention a summary of the error.

Also: since this is the V1 of a V0, it requires patch history after the
commit message delimiter ('---' line below).

> Signed-off-by: Rajeshwari Shinde <rajeshwari.s at samsung.com>
> Signed-off-by: Amar <amarendra.xt at samsung.com>
> ---
>  board/samsung/smdk5250/smdk5250.c |   10 ++++++++++
>  drivers/i2c/s3c24x0_i2c.c         |    9 +--------
>  2 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c
> index ae1f077..f1d3d97 100644
> --- a/board/samsung/smdk5250/smdk5250.c
> +++ b/board/samsung/smdk5250/smdk5250.c
> @@ -332,6 +332,16 @@ static int board_uart_init(void)
>  	return ret;
>  }
>  
> +void board_i2c_init(const void *blob)
> +{
> +	int i;
> +
> +	for (i = 0; i < CONFIG_MAX_I2C_NUM; i++) {
> +		exynos_pinmux_config((PERIPH_ID_I2C0 + i),
> +				     PINMUX_FLAG_NONE);
> +	}
> +}
> +
>  #ifdef CONFIG_BOARD_EARLY_INIT_F
>  int board_early_init_f(void)
>  {
> diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
> index 3fc1c5b..382e4c2 100644
> --- a/drivers/i2c/s3c24x0_i2c.c
> +++ b/drivers/i2c/s3c24x0_i2c.c
> @@ -515,10 +515,10 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
>  		 len) != 0);
>  }
>  
> +#ifdef CONFIG_OF_CONTROL
>  void board_i2c_init(const void *blob)
>  {
>  	int i;
> -#ifdef CONFIG_OF_CONTROL
>  	int node_list[CONFIG_MAX_I2C_NUM];
>  	int count;
>  
> @@ -540,15 +540,8 @@ void board_i2c_init(const void *blob)
>  		bus->bus_num = i2c_busses++;
>  		exynos_pinmux_config(bus->id, 0);
>  	}
> -#else
> -	for (i = 0; i < CONFIG_MAX_I2C_NUM; i++) {
> -		exynos_pinmux_config((PERIPH_ID_I2C0 + i),
> -				     PINMUX_FLAG_NONE);
> -	}
> -#endif
>  }
>  
> -#ifdef CONFIG_OF_CONTROL
>  static struct s3c24x0_i2c_bus *get_bus(unsigned int bus_idx)
>  {
>  	if (bus_idx < i2c_busses)

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list