On 14/03/10 21:14, s-paul...@ti.com wrote: > From: Cyril Chemparathy <cy...@ti.com> > > Modified to use IO accessor routines consistently. Eliminated volatile usage > to keep checkpatch.pl happy. > Patch was tested on DM355, DM365 and DM6446 EVMs > > Signed-off-by: Cyril Chemparathy <cy...@ti.com> > Tested-by: Sandeep Paulraj <s-paul...@ti.com> > --- > drivers/mtd/nand/davinci_nand.c | 126 > ++++++++++++++++-------------- > include/asm-arm/arch-davinci/emif_defs.h | 80 +++++++++---------- > 2 files changed, 104 insertions(+), 102 deletions(-) > > diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c > index bfc2acf..61cba14 100644 > --- a/drivers/mtd/nand/davinci_nand.c > +++ b/drivers/mtd/nand/davinci_nand.c > @@ -57,7 +57,8 @@ > #define ECC_STATE_ERR_CORR_COMP_P 0x2 > #define ECC_STATE_ERR_CORR_COMP_N 0x3 > > -static emif_registers *const emif_regs = (void *) > DAVINCI_ASYNC_EMIF_CNTRL_BASE; > +static struct davinci_emif_regs *emif_regs = > + (struct davinci_emif_regs *) DAVINCI_ASYNC_EMIF_CNTRL_BASE;
Since this is really just a constant, why setup a variable locally where ever EMIF registers are accessed? What's wrong with the define you removed below? ... > diff --git a/include/asm-arm/arch-davinci/emif_defs.h > b/include/asm-arm/arch-davinci/emif_defs.h > index aa57703..3d77bfc 100644 > --- a/include/asm-arm/arch-davinci/emif_defs.h > +++ b/include/asm-arm/arch-davinci/emif_defs.h > @@ -24,50 +24,42 @@ > > #include <asm/arch/hardware.h> > > -typedef struct davinci_emif_regs { > - dv_reg ERCSR; > - dv_reg AWCCR; > - dv_reg SDBCR; > - dv_reg SDRCR; > - dv_reg AB1CR; > - dv_reg AB2CR; > - dv_reg AB3CR; > - dv_reg AB4CR; > - dv_reg SDTIMR; > - dv_reg DDRSR; > - dv_reg DDRPHYCR; > - dv_reg DDRPHYSR; > - dv_reg TOTAR; > - dv_reg TOTACTR; > - dv_reg DDRPHYID_REV; > - dv_reg SDSRETR; > - dv_reg EIRR; > - dv_reg EIMR; > - dv_reg EIMSR; > - dv_reg EIMCR; > - dv_reg IOCTRLR; > - dv_reg IOSTATR; > - u_int8_t RSVD0[8]; > - dv_reg NANDFCR; > - dv_reg NANDFSR; > - u_int8_t RSVD1[8]; > - dv_reg NANDFECC[4]; > - u_int8_t RSVD2[60]; > - dv_reg NAND4BITECCLOAD; > - dv_reg NAND4BITECC1; > - dv_reg NAND4BITECC2; > - dv_reg NAND4BITECC3; > - dv_reg NAND4BITECC4; > - dv_reg NANDERRADD1; > - dv_reg NANDERRADD2; > - dv_reg NANDERRVAL1; > - dv_reg NANDERRVAL2; > -} emif_registers; > - > -typedef emif_registers *emifregs; > - > -#define davinci_emif_regs \ > - ((struct davinci_emif_regs *)DAVINCI_ASYNC_EMIF_CNTRL_BASE) ...This one. Nick. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot