From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Thompson Date: Tue, 16 Mar 2010 12:39:11 +0000 Subject: [U-Boot] [PATCH] TI: Davinci: NAND Driver Cleanup In-Reply-To: <1268601271-3542-1-git-send-email-s-paulraj@ti.com> References: <1268601271-3542-1-git-send-email-s-paulraj@ti.com> Message-ID: <4B9F7BEF.2050504@ge.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 14/03/10 21:14, s-paulraj at ti.com wrote: > From: Cyril Chemparathy > > 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 > Tested-by: Sandeep Paulraj > --- > 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 > > -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.