Patchwork [U-Boot,V2] I2C: S3C24X0: Resolve build error for VCMA9

login
register
mail settings
Submitter Rajeshwari Birje
Date Jan. 14, 2013, 5:49 a.m.
Message ID <1358142576-1957-1-git-send-email-rajeshwari.s@samsung.com>
Download mbox | patch
Permalink /patch/211705/
State Accepted
Delegated to: Minkyu Kang
Headers show

Comments

Rajeshwari Birje - Jan. 14, 2013, 5:49 a.m.
This patch resolves the following build errors for I2C driver in
VCMA9:

In file included from s3c24x0_i2c.c:40:0:
s3c24x0_i2c.h:38:17: error: field 'id' has incomplete type
s3c24x0_i2c.c:70:39: error: 'CONFIG_MAX_I2C_NUM' undeclared here (not
in a function) s3c24x0_i2c.c:70:31: warning: 'i2c_bus' defined but
not used [-Wunused-variable] s3c24x0_i2c.c:72:12: warning:
'i2c_busses' defined but not used [-Wunused-variable]

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
---
Changes since V1:
	- Changes the commit message to add the errors.
	- changed enum periph_id to int
 drivers/i2c/s3c24x0_i2c.c |    4 +++-
 drivers/i2c/s3c24x0_i2c.h |    3 +--
 2 files changed, 4 insertions(+), 3 deletions(-)
Heiko Schocher - Jan. 14, 2013, 6:42 a.m.
Hello Rajeshwari,

On 14.01.2013 06:49, Rajeshwari Shinde wrote:
> This patch resolves the following build errors for I2C driver in
> VCMA9:
>
> In file included from s3c24x0_i2c.c:40:0:
> s3c24x0_i2c.h:38:17: error: field 'id' has incomplete type
> s3c24x0_i2c.c:70:39: error: 'CONFIG_MAX_I2C_NUM' undeclared here (not
> in a function) s3c24x0_i2c.c:70:31: warning: 'i2c_bus' defined but
> not used [-Wunused-variable] s3c24x0_i2c.c:72:12: warning:
> 'i2c_busses' defined but not used [-Wunused-variable]

Which U-Boot do you use? I just tried current head of mainline:

[hs@pollux u-boot]$ git log
commit fd70aa41468be4324275910f85578cb5be6a0439
Author: angelo <sysamfw@gmail.com>
Date:   Fri Nov 23 12:23:39 2012 +0000

     m68k/lib: fix serial driver relocation

     Fix coldfire serial driver bindings no more relocated to ram after last
     changes to drivers/serial/serial.c (regression).
     Serial initialization in ram has to be called after that gd->reloc_off is
     calculated.

     Signed-off-by: Angelo Dureghello <sysamfw@gmail.com>
     Cc: Jason Jin <jason.jin@freescale.com>
     Acked-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
     Tested-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>

and it compiles clean with eldk-5.2:

[hs@pollux u-boot]$ ./MAKEALL VCMA9
Configuring for VCMA9 board...
    text    data     bss     dec     hex filename
  523055   15112  296056  834223   cbaaf ./u-boot

--------------------- SUMMARY ----------------------------
Boards compiled: 1
----------------------------------------------------------
[hs@pollux u-boot]$

bye,
Heiko
Rajeshwari Birje - Jan. 14, 2013, 6:49 a.m.
Hi Heiko,

I built it on latest tree u-boot-samsung.
For VCMA9_config I got the the errors.

Regards,
Rajeshwari Shinde.


On Mon, Jan 14, 2013 at 12:12 PM, Heiko Schocher <hs@denx.de> wrote:
>
Minkyu Kang - Jan. 14, 2013, 10:22 a.m.
On 14/01/13 14:49, Rajeshwari Shinde wrote:
> This patch resolves the following build errors for I2C driver in
> VCMA9:
> 
> In file included from s3c24x0_i2c.c:40:0:
> s3c24x0_i2c.h:38:17: error: field 'id' has incomplete type
> s3c24x0_i2c.c:70:39: error: 'CONFIG_MAX_I2C_NUM' undeclared here (not
> in a function) s3c24x0_i2c.c:70:31: warning: 'i2c_bus' defined but
> not used [-Wunused-variable] s3c24x0_i2c.c:72:12: warning:
> 'i2c_busses' defined but not used [-Wunused-variable]
> 
> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
> ---
> Changes since V1:
> 	- Changes the commit message to add the errors.
> 	- changed enum periph_id to int
>  drivers/i2c/s3c24x0_i2c.c |    4 +++-
>  drivers/i2c/s3c24x0_i2c.h |    3 +--
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 

applied to u-boot-samsung.

Thanks,
Minkyu Kang.

Patch

diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
index 7ec01ec..769a2ba 100644
--- a/drivers/i2c/s3c24x0_i2c.c
+++ b/drivers/i2c/s3c24x0_i2c.c
@@ -67,9 +67,11 @@ 
  * variables to live in SRAM
  */
 static unsigned int g_current_bus __attribute__((section(".data")));
+#ifdef CONFIG_OF_CONTROL
+static int i2c_busses __attribute__((section(".data")));
 static struct s3c24x0_i2c_bus i2c_bus[CONFIG_MAX_I2C_NUM]
 			__attribute__((section(".data")));
-static int i2c_busses __attribute__((section(".data")));
+#endif
 
 #if !(defined CONFIG_EXYNOS4 || defined CONFIG_EXYNOS5)
 static int GetI2CSDA(void)
diff --git a/drivers/i2c/s3c24x0_i2c.h b/drivers/i2c/s3c24x0_i2c.h
index 1243bf1..a56d749 100644
--- a/drivers/i2c/s3c24x0_i2c.h
+++ b/drivers/i2c/s3c24x0_i2c.h
@@ -35,7 +35,6 @@  struct s3c24x0_i2c_bus {
 	int node;	/* device tree node */
 	int bus_num;	/* i2c bus number */
 	struct s3c24x0_i2c *regs;
-	enum periph_id id;
+	int id;
 };
-
 #endif /* _S3C24X0_I2C_H */