All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [POWERPC] mgsuvd: fix compiler warning when using soft_i2c driver
@ 2008-10-16 17:11 Heiko Schocher
  2008-10-16 21:41 ` Wolfgang Denk
  0 siblings, 1 reply; 2+ messages in thread
From: Heiko Schocher @ 2008-10-16 17:11 UTC (permalink / raw)
  To: u-boot

following patch solves the compiler warning for the
mgsuvd board, using the soft_i2c driver:

[hs at pollux u-boot]$ ./MAKEALL mgsuvd
Configuring for mgsuvd board...
soft_i2c.c: In function 'write_byte':
soft_i2c.c:209: warning: implicit declaration of function 'i2c_soft_read_pin'
   text    data     bss     dec     hex filename
 174608    9712   28436  212756   33f14 ./u-boot
[hs at pollux u-boot]$

Signed-off-by: Heiko Schocher <hs@denx.de>
---
 drivers/i2c/soft_i2c.c   |    2 ++
 include/configs/mgsuvd.h |    1 +
 include/i2c.h            |    4 ++++
 3 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 0a9feb6..346125e 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -41,6 +41,8 @@
 #endif
 #include <i2c.h>

+CONFIG_I2C_SOFT_EXTERN
+
 /* #define	DEBUG_I2C	*/

 #ifdef DEBUG_I2C
diff --git a/include/configs/mgsuvd.h b/include/configs/mgsuvd.h
index 4ecaeac..2171115 100644
--- a/include/configs/mgsuvd.h
+++ b/include/configs/mgsuvd.h
@@ -356,6 +356,7 @@

 #define I2C_ACTIVE	do {} while (0)
 #define I2C_TRISTATE	do {} while (0)
+#define CONFIG_I2C_SOFT_EXTERN	extern int i2c_soft_read_pin (void);
 #define I2C_READ	i2c_soft_read_pin ()
 #define I2C_SDA(bit)	if(bit) { \
 				*(unsigned short *)(I2C_BASE_DIR) &=  ~SDA_CONF; \
diff --git a/include/i2c.h b/include/i2c.h
index 9f771dd..24d535f 100644
--- a/include/i2c.h
+++ b/include/i2c.h
@@ -76,6 +76,10 @@
 #  define I2C_SOFT_DECLARATIONS
 # endif
 #endif
+
+#ifndef CONFIG_I2C_SOFT_EXTERN
+#define CONFIG_I2C_SOFT_EXTERN
+#endif
 /*
  * Initialization, must be called once on start up, may be called
  * repeatedly to change the speed and slave addresses.
-- 
1.5.6.1

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [U-Boot] [POWERPC] mgsuvd: fix compiler warning when using soft_i2c driver
  2008-10-16 17:11 [U-Boot] [POWERPC] mgsuvd: fix compiler warning when using soft_i2c driver Heiko Schocher
@ 2008-10-16 21:41 ` Wolfgang Denk
  0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Denk @ 2008-10-16 21:41 UTC (permalink / raw)
  To: u-boot

Dear Heiko Schocher,

In message <48F775CE.2020203@denx.de> you wrote:
> following patch solves the compiler warning for the
> mgsuvd board, using the soft_i2c driver:
> 
> [hs at pollux u-boot]$ ./MAKEALL mgsuvd
> Configuring for mgsuvd board...
> soft_i2c.c: In function 'write_byte':
> soft_i2c.c:209: warning: implicit declaration of function 'i2c_soft_read_pin'
>    text    data     bss     dec     hex filename
>  174608    9712   28436  212756   33f14 ./u-boot
> [hs at pollux u-boot]$
> 
> Signed-off-by: Heiko Schocher <hs@denx.de>
> ---
>  drivers/i2c/soft_i2c.c   |    2 ++
>  include/configs/mgsuvd.h |    1 +
>  include/i2c.h            |    4 ++++
>  3 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
> index 0a9feb6..346125e 100644
> --- a/drivers/i2c/soft_i2c.c
> +++ b/drivers/i2c/soft_i2c.c
> @@ -41,6 +41,8 @@
>  #endif
>  #include <i2c.h>
> 
> +CONFIG_I2C_SOFT_EXTERN
> +
>  /* #define	DEBUG_I2C	*/
> 
>  #ifdef DEBUG_I2C
> diff --git a/include/configs/mgsuvd.h b/include/configs/mgsuvd.h
> index 4ecaeac..2171115 100644
> --- a/include/configs/mgsuvd.h
> +++ b/include/configs/mgsuvd.h
> @@ -356,6 +356,7 @@
> 
>  #define I2C_ACTIVE	do {} while (0)
>  #define I2C_TRISTATE	do {} while (0)
> +#define CONFIG_I2C_SOFT_EXTERN	extern int i2c_soft_read_pin (void);
>  #define I2C_READ	i2c_soft_read_pin ()
>  #define I2C_SDA(bit)	if(bit) { \
>  				*(unsigned short *)(I2C_BASE_DIR) &=  ~SDA_CONF; \
> diff --git a/include/i2c.h b/include/i2c.h
> index 9f771dd..24d535f 100644
> --- a/include/i2c.h
> +++ b/include/i2c.h
> @@ -76,6 +76,10 @@
>  #  define I2C_SOFT_DECLARATIONS
>  # endif
>  #endif
> +
> +#ifndef CONFIG_I2C_SOFT_EXTERN
> +#define CONFIG_I2C_SOFT_EXTERN
> +#endif
>  /*
>   * Initialization, must be called once on start up, may be called
>   * repeatedly to change the speed and slave addresses.

NAK. This is really ugly.

Please make i2c_soft_read_pin () an inline function so it's sufficient
to change the I2C_READ definition in include/configs/mgsuvd.h

Umm...  while  we  are  at  it  -  there  is  a  lot   of   code   in
"board/keymile/mgsuvd/mgsuvd.c" that needs to be cleaned up:


 24 #if 0
 25 #define DEBUG
 26 #endif

Please remove.

167         memory_data[0] = cpu_to_be32(bd->bi_memstart);
168         memory_data[1] = cpu_to_be32(bd->bi_memsize);
169
170                 nodeoffset = fdt_path_offset (blob, "/memory");
171                 if (nodeoffset >= 0) {
172                         ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
173                                                 sizeof(memory_data));

Indentation is wrong here.

177                 }
178                 else {

make this "} else {"

180                         printf("ft_blob_update(): cannot find /memory node "
181                         "err:%s\n", fdt_strerror(nodeoffset));

Indentation.

187         if (nodeoffset >= 0) {
188                 ret = fdt_setprop(blob, nodeoffset, "ranges", flash_data,
189                                         sizeof(flash_data));
190         if (ret < 0)
191                 printf("ft_blob_update(): cannot set /localbus/ranges "
192                         "property err:%s\n", fdt_strerror(ret));
193         }
194         else {

Bad indentation and "} else {" again.

202         if (nodeoffset >= 0) {
203                 ret = fdt_setprop(blob, nodeoffset, "brg-frequency", brg_data,
204                                         sizeof(brg_data));
205         if (ret < 0)
206                 printf("ft_blob_update(): cannot set /soc/cpm/brg-frequency "
207                         "property err:%s\n", fdt_strerror(ret));
208         }
209         else {

Bad indentation and "} else {" again.

Oops. This is the third time  you  repeat  the  same  code?  And  yet
another time follows below? Please turn this into a function.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
I often quote myself; it adds spice to my conversation.  - G. B. Shaw

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-10-16 21:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-16 17:11 [U-Boot] [POWERPC] mgsuvd: fix compiler warning when using soft_i2c driver Heiko Schocher
2008-10-16 21:41 ` Wolfgang Denk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.