PPC4xx: ALPR: constify FPGA code
PATCH 1/1 PPC4xx: ALPR: constify FPGA code
The ALPR custom FPGA code was missed by commit e6a857d "fpga:
constify to fix build warning" resulting in such warnings:
fpga.c:226: warning: initialization from incompatible pointer type
--- board/prodrive/alpr/fpga.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
board/prodrive/alpr/fpga.c +1 -1
@@ -168,7 +168,7 @@ int fpga_done_fn (int cookie)/* writes the complete buffer to the FPGA writing the complete buffer in one function is much faster, then calling it for every bit */ -int fpga_write_fn (void *buf,size_t len,int flush,int cookie) +int fpga_write_fn (const void *buf,size_t len,int flush,int cookie) {size_t bytecount =0 ;unsigned char *data = (unsigned char *) buf;
Signature · 1 line
1.7.6
PATCH 1/1 PPC4xx: ALPR: constify FPGA code
Hi Wolfgang,
Quoted 7 lines · On Monday 05 September 2011 11:43:29 Wolfgang Denk wrote:
The ALPR custom FPGA code was missed by commit e6a857d "fpga:
constify to fix build warning" resulting in such warnings:fpga.c:226: warning: initialization from incompatible pointer type
Signed-off-by Wolfgang Denk <[email protected]>Cc Stefan Roese <[email protected]>
Wolfgang, please feel free to pull this directly if you prefer.
Thanks.
Best regards,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de
PATCH 1/1 PPC4xx: ALPR: constify FPGA code
Dear Stefan Roese,
Quoted 2 lines · In message <[email protected]> you wrote:
Acked-by Stefan Roese <[email protected]>
Thanks.
Quoted 1 line
Wolfgang, please feel free to pull this directly if you prefer.
Will do, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
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 at denx.de Either one of us, by himself, is expendable. Both of us are not. -- Kirk, "The Devil in the Dark", stardate 3196.1
PATCH 1/1 PPC4xx: ALPR: constify FPGA code
In reply to Wolfgang DenkHello.
Quoted 16 lines · Wolfgang Denk
The ALPR custom FPGA code was missed by commit e6a857d "fpga:
constify to fix build warning" resulting in such warnings:fpga.c:226: warning: initialization from incompatible pointer type
Signed-off-by Wolfgang Denk<[email protected]>Cc Stefan Roese<[email protected]>--- board/prodrive/alpr/fpga.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)board/prodrive/alpr/fpga.c +0
-0
board/prodrive/alpr/fpga.c int fpga_done_fn (int cookie) · line 171
Quoted 5 lines
board/prodrive/alpr/fpga.c +1
-1@@ -168,7 +168,7 @@ int fpga_done_fn (int cookie)/* writes the complete buffer to the FPGA writing the complete buffer in one function is much faster, then calling it for every bit */ -int fpga_write_fn (void *buf,size_t len,int flush,int cookie) +int fpga_write_fn (const void *buf,size_t len,int flush,int cookie)
I guess this causes checkpatch.pl to complain due to space before (...
WBR, Sergei
PATCH 1/1 PPC4xx: ALPR: constify FPGA code
Dear Sergei Shtylyov,
Quoted 5 lines · In message <[email protected]> you wrote:
board/prodrive/alpr/fpga.c int fpga_done_fn (int cookie) · line 171
Quoted 3 lines
board/prodrive/alpr/fpga.c +1
-1-int fpga_write_fn (void *buf,size_t len,int flush,int cookie) +int fpga_write_fn (const void *buf,size_t len,int flush,int cookie)I guess this causes checkpatch.pl to complain due to space before (...
Right. I'll send a separate cleanup patch later.
Best regards,
Wolfgang Denk
Signature · 5 lines
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 at denx.de Der Irrtum wiederholt sich immerfort in der Tat. Deshalb mu? man das Wahre unerm?dlich in Worten wiederholen. - Goethe
PATCH 1/1 board/prodrive/alpr/fpga.c: Coding style cleanup
In reply to Sergei Shtylyov---
No functional changes, only coding style cleanup.
board/prodrive/alpr/fpga.c | 68 ++++++++++++++++++++++--------------------- 1 files changed, 35 insertions(+), 33 deletions(-)
board/prodrive/alpr/fpga.c +35 -33
@@ -39,9 +39,9 @@ DECLARE_GLOBAL_DATA_PTR;#if defined(CONFIG_FPGA )#ifdef FPGA_DEBUG -#define PRINTF(fmt,args...) printf (fmt ,##args) +#define PRINTF(fmt, args...) printf(fmt , ##args)#else -#define PRINTF(fmt,args...) +#define PRINTF(fmt, args...)#endif static unsigned long regval;
@@ -69,19 +69,21 @@ static unsigned long regval;#define SET_FPGA (data) out32(GPIO0_OR, data) -#define FPGA_WRITE_1 { \ - SET_FPGA(OLD_VAL | 0 | FPGA_DATA);/* set data to 1 */ \ -SET_FPGA (OLD_VAL |FPGA_CLK |FPGA_DATA );}/* set data to 1 */ +#define FPGA_WRITE_1 { \ + SET_FPGA(OLD_VAL | 0 | FPGA_DATA);/* set data to 1 */ \ +SET_FPGA (OLD_VAL |FPGA_CLK |FPGA_DATA );/* set data to 1 */ \ +} -#define FPGA_WRITE_0 { \ - SET_FPGA(OLD_VAL | 0 | 0 );/* set data to 0 */ \ - SET_FPGA(OLD_VAL | FPGA_CLK | 0 );} /* set data to 1 */ +#define FPGA_WRITE_0 { \ + SET_FPGA(OLD_VAL | 0 | 0);/* set data to 0 */ \ +SET_FPGA (OLD_VAL |FPGA_CLK |0 );/* set data to 1 */ \ +}/* Plattforminitializations */ /* Here we have to set the FPGA Chain */ /* PROGRAM_PROG_EN = HIGH */ /* PROGRAM_SEL_DPR = LOW */ -int fpga_pre_fn (int cookie) +int fpga_pre_fn (int cookie) {unsigned long reg;
@@ -128,23 +130,23 @@ int fpga_pre_fn (int cookie) }/* Set the state of CONFIG Pin */ -int fpga_config_fn (int assert_config,int flush,int cookie) +int fpga_config_fn (int assert_config,int flush,int cookie) { -if (assert_config) { +if (assert_config)SET_GPIO_1 (CONFIG_SYS_GPIO_CONFIG ); - }else { +else SET_GPIO_0 (CONFIG_SYS_GPIO_CONFIG ); - } +return FPGA_SUCCESS ; }/* Returns the state of STATUS Pin */ -int fpga_status_fn (int cookie) +int fpga_status_fn (int cookie) {unsigned long reg; reg =in32 (GPIO0_IR ); -if (reg &= (0x80000000 >>CONFIG_SYS_GPIO_STATUS )) { +if (reg & (0x80000000 >>CONFIG_SYS_GPIO_STATUS )) {PRINTF ("STATUS = HIGH\n" );return FPGA_FAIL ; }
@@ -153,11 +155,11 @@ int fpga_status_fn (int cookie) }/* Returns the state of CONF_DONE Pin */ -int fpga_done_fn (int cookie) +int fpga_done_fn (int cookie) {unsigned long reg; reg =in32 (GPIO0_IR ); -if (reg &= (0x80000000 >>CONFIG_SYS_GPIO_CON_DON )) { +if (reg & (0x80000000 >>CONFIG_SYS_GPIO_CON_DON )) {PRINTF ("CONF_DON = HIGH\n" );return FPGA_FAIL ; }
@@ -168,11 +170,11 @@ int fpga_done_fn (int cookie)/* writes the complete buffer to the FPGA writing the complete buffer in one function is much faster, then calling it for every bit */ -int fpga_write_fn (const void *buf,size_t len,int flush,int cookie) +int fpga_write_fn (const void *buf,size_t len,int flush,int cookie) {size_t bytecount =0 ;unsigned char *data = (unsigned char *) buf; -unsigned char val=0 ; +unsigned char val =0 ;int i;int len_40 = len /40 ;
@@ -180,20 +182,20 @@ int fpga_write_fn (const void *buf, size_t len, int flush, int cookie) val = data[bytecount++]; i =8 ;do { -if (val &0x01 ) { +if (val &0x01 )FPGA_WRITE_1 ; - }else { +else FPGA_WRITE_0 ; - } + val >>=1 ; - i --; + i--; }while (i >0 );#ifdef CONFIG_SYS_FPGA_PROG_FEEDBACK if (bytecount % len_40 ==0 ) { -putc ('.' );/* let them know we are alive */ +putc ('.' );/* let them know we are alive */ #ifdef CONFIG_SYS_FPGA_CHECK_CTRLC -if (ctrlc ()) +if (ctrlc ())return FPGA_FAIL ;#endif }
@@ -203,16 +205,16 @@ int fpga_write_fn (const void *buf, size_t len, int flush, int cookie) }/* called, when programming is aborted */ -int fpga_abort_fn (int cookie) +int fpga_abort_fn (int cookie) {SET_GPIO_1 ((CONFIG_SYS_GPIO_SEL_DPR ));return FPGA_SUCCESS ; }/* called, when programming was succesful */ -int fpga_post_fn (int cookie) +int fpga_post_fn (int cookie) { -return fpga_abort_fn (cookie); +return fpga_abort_fn (cookie); }/* Note that these are pointers to code that is in Flash. They will be
@@ -240,16 +242,16 @@ Altera_desc fpga[CONFIG_FPGA_COUNT] = {/* * Initialize the fpga. Return 1 on success, 0 on failure. */ -int alpr_fpga_init (void ) +int alpr_fpga_init (void ) {int i; -PRINTF ("%s:%d: Initialize FPGA interface\n" , __FUNCTION__, __LINE__); -fpga_init (); +PRINTF ("%s:%d: Initialize FPGA interface\n" , __func__, __LINE__); +fpga_init ();for (i =0 ; i <CONFIG_FPGA_COUNT ; i++) { -PRINTF ("%s:%d: Adding fpga %d\n" , __FUNCTION__, __LINE__, i); -fpga_add (fpga_altera, &fpga[i]); +PRINTF ("%s:%d: Adding fpga %d\n" , __func__, __LINE__, i); +fpga_add (fpga_altera, &fpga[i]); }return 1 ; }
Signature · 1 line
1.7.6
PATCH v2 1/1 board/prodrive/alpr/fpga.c: Coding style cleanup
---
v2: fix compile issues; must use "do {} while (0)" in macros
definitions if we want to omit the braces in if...else statements. Should have done this anyway.
board/prodrive/alpr/fpga.c | 76 ++++++++++++++++++++++--------------------- 1 files changed, 39 insertions(+), 37 deletions(-)
board/prodrive/alpr/fpga.c +39 -37
@@ -39,24 +39,24 @@ DECLARE_GLOBAL_DATA_PTR;#if defined(CONFIG_FPGA )#ifdef FPGA_DEBUG -#define PRINTF(fmt,args...) printf (fmt ,##args) +#define PRINTF(fmt, args...) printf(fmt , ##args)#else -#define PRINTF(fmt,args...) +#define PRINTF(fmt, args...)#endif static unsigned long regval; -#define SET_GPIO_REG_0 (reg, bit) { \ +#define SET_GPIO_REG_0 (reg, bit) do { \ regval = in32(reg); \ regval &= ~(0x80000000 >> bit); \ out32(reg, regval); \ - } + } while (0) -#define SET_GPIO_REG_1 (reg, bit) { \ +#define SET_GPIO_REG_1 (reg, bit) do { \ regval = in32(reg); \ regval |= (0x80000000 >> bit); \ out32(reg, regval); \ - } + } while (0)#define SET_GPIO_0 (bit) SET_GPIO_REG_0(GPIO0_OR, bit)#define SET_GPIO_1 (bit) SET_GPIO_REG_1(GPIO0_OR, bit)
@@ -69,19 +69,21 @@ static unsigned long regval;#define SET_FPGA (data) out32(GPIO0_OR, data) -#define FPGA_WRITE_1 { \ - SET_FPGA(OLD_VAL | 0 | FPGA_DATA);/* set data to 1 */ \ -SET_FPGA (OLD_VAL |FPGA_CLK |FPGA_DATA );}/* set data to 1 */ +#define FPGA_WRITE_1 do { \ + SET_FPGA(OLD_VAL | 0 | FPGA_DATA);/* set data to 1 */ \ +SET_FPGA (OLD_VAL |FPGA_CLK |FPGA_DATA );/* set data to 1 */ \ +} while (0) -#define FPGA_WRITE_0 { \ - SET_FPGA(OLD_VAL | 0 | 0 );/* set data to 0 */ \ - SET_FPGA(OLD_VAL | FPGA_CLK | 0 );} /* set data to 1 */ +#define FPGA_WRITE_0 do { \ + SET_FPGA(OLD_VAL | 0 | 0);/* set data to 0 */ \ +SET_FPGA (OLD_VAL |FPGA_CLK |0 );/* set data to 1 */ \ +} while (0)/* Plattforminitializations */ /* Here we have to set the FPGA Chain */ /* PROGRAM_PROG_EN = HIGH */ /* PROGRAM_SEL_DPR = LOW */ -int fpga_pre_fn (int cookie) +int fpga_pre_fn(int cookie) {unsigned long reg;
@@ -128,23 +130,23 @@ int fpga_pre_fn (int cookie) }/* Set the state of CONFIG Pin */ -int fpga_config_fn (int assert_config,int flush,int cookie) +int fpga_config_fn (int assert_config,int flush,int cookie) { -if (assert_config) { +if (assert_config)SET_GPIO_1 (CONFIG_SYS_GPIO_CONFIG ); - }else { +else SET_GPIO_0 (CONFIG_SYS_GPIO_CONFIG ); - } +return FPGA_SUCCESS ; }/* Returns the state of STATUS Pin */ -int fpga_status_fn (int cookie) +int fpga_status_fn (int cookie) {unsigned long reg; reg =in32 (GPIO0_IR ); -if (reg &= (0x80000000 >>CONFIG_SYS_GPIO_STATUS )) { +if (reg & (0x80000000 >>CONFIG_SYS_GPIO_STATUS )) {PRINTF ("STATUS = HIGH\n" );return FPGA_FAIL ; }
@@ -153,11 +155,11 @@ int fpga_status_fn (int cookie) }/* Returns the state of CONF_DONE Pin */ -int fpga_done_fn (int cookie) +int fpga_done_fn (int cookie) {unsigned long reg; reg =in32 (GPIO0_IR ); -if (reg &= (0x80000000 >>CONFIG_SYS_GPIO_CON_DON )) { +if (reg & (0x80000000 >>CONFIG_SYS_GPIO_CON_DON )) {PRINTF ("CONF_DON = HIGH\n" );return FPGA_FAIL ; }
@@ -168,11 +170,11 @@ int fpga_done_fn (int cookie)/* writes the complete buffer to the FPGA writing the complete buffer in one function is much faster, then calling it for every bit */ -int fpga_write_fn (const void *buf,size_t len,int flush,int cookie) +int fpga_write_fn (const void *buf,size_t len,int flush,int cookie) {size_t bytecount =0 ;unsigned char *data = (unsigned char *) buf; -unsigned char val=0 ; +unsigned char val =0 ;int i;int len_40 = len /40 ;
@@ -180,20 +182,20 @@ int fpga_write_fn (const void *buf, size_t len, int flush, int cookie) val = data[bytecount++]; i =8 ;do { -if (val &0x01 ) { +if (val &0x01 )FPGA_WRITE_1 ; - }else { +else FPGA_WRITE_0 ; - } + val >>=1 ; - i --; + i--; }while (i >0 );#ifdef CONFIG_SYS_FPGA_PROG_FEEDBACK if (bytecount % len_40 ==0 ) { -putc ('.' );/* let them know we are alive */ +putc ('.' );/* let them know we are alive */ #ifdef CONFIG_SYS_FPGA_CHECK_CTRLC -if (ctrlc ()) +if (ctrlc ())return FPGA_FAIL ;#endif }
@@ -203,16 +205,16 @@ int fpga_write_fn (const void *buf, size_t len, int flush, int cookie) }/* called, when programming is aborted */ -int fpga_abort_fn (int cookie) +int fpga_abort_fn (int cookie) {SET_GPIO_1 ((CONFIG_SYS_GPIO_SEL_DPR ));return FPGA_SUCCESS ; }/* called, when programming was succesful */ -int fpga_post_fn (int cookie) +int fpga_post_fn (int cookie) { -return fpga_abort_fn (cookie); +return fpga_abort_fn (cookie); }/* Note that these are pointers to code that is in Flash. They will be
@@ -240,16 +242,16 @@ Altera_desc fpga[CONFIG_FPGA_COUNT] = {/* * Initialize the fpga. Return 1 on success, 0 on failure. */ -int alpr_fpga_init (void ) +int alpr_fpga_init (void ) {int i; -PRINTF ("%s:%d: Initialize FPGA interface\n" , __FUNCTION__, __LINE__); -fpga_init (); +PRINTF ("%s:%d: Initialize FPGA interface\n" , __func__, __LINE__); +fpga_init ();for (i =0 ; i <CONFIG_FPGA_COUNT ; i++) { -PRINTF ("%s:%d: Adding fpga %d\n" , __FUNCTION__, __LINE__, i); -fpga_add (fpga_altera, &fpga[i]); +PRINTF ("%s:%d: Adding fpga %d\n" , __func__, __LINE__, i); +fpga_add (fpga_altera, &fpga[i]); }return 1 ; }
Signature · 1 line
1.7.6
PATCH v2 1/1 board/prodrive/alpr/fpga.c: Coding style cleanup
Quoted 2 lines · On Monday 05 September 2011 13:34:39 Wolfgang Denk wrote:
Signed-off-by Wolfgang Denk <[email protected]>Cc Stefan Roese <[email protected]>
Again, please apply directly if you prefer.
Thanks.
Best regards,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de
Wolfgang Denk
AppliedPATCH v2 1/1 board/prodrive/alpr/fpga.c: Coding style cleanup
In reply to Wolfgang DenkDear Wolfgang Denk,
Quoted 9 lines · In message <[email protected]> you wrote:
Signed-off-by Wolfgang Denk <[email protected]>Cc Stefan Roese <[email protected]>---
v2: fix compile issues; must use "do {} while (0)" in macros
definitions if we want to omit the braces in if...else statements. Should have done this anyway.board/prodrive/alpr/fpga.c | 76 ++++++++++++++++++++++--------------------- 1 files changed, 39 insertions(+), 37 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
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 at denx.de
In general, they do what you want, unless you want consistency.
- Larry Wall in the perl man page