From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Fuchs Date: Sat, 19 Apr 2008 16:50:32 +0200 Subject: [U-Boot-Users] =?iso-8859-1?q?=5BPATCH=5D_cfi-flash=3A_Add=09CFG?= =?iso-8859-1?q?=5FFLASH=5FAUTOPROTECT=5FLIST?= In-Reply-To: <200804191402.23386.sr@denx.de> References: <200804181629.40697.matthias.fuchs@esd-electronics.com> <200804191330.04925.matthias.fuchs@esd-electronics.com> <200804191402.23386.sr@denx.de> Message-ID: <200804191650.32303.matthias.fuchs@esd-electronics.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Stefan, I could also life with your approach, but it will add code even to platforms that do not use the new option. In this case I would prefer it against the weak implementation. Matthias On Saturday 19 April 2008 14:02:23 Stefan Roese wrote: > Hi Matthias, > > On Saturday 19 April 2008, Matthias Fuchs wrote: > > is it possible to use weak structures? Or do you mean > > a weak function that initializes my autoprotect list? > > > > Please give me an idea and I will implement it. > > I don't know if it's possible to implement a weak structure, but I > would prefer something like this instead of your original > implementation (no #ifdef's in the code): > > struct apl_s { > u32 start; > u32 size; > }; > > #if !defined(CFG_FLASH_AUTOPROTECT_LIST) > struct apl_s apl[] = { }; > #else > struct apl_s apl[] = CFG_FLASH_AUTOPROTECT_LIST; > #endif > > And then later in the code: > > + for (i = 0; i < ARRAY_SIZE(apl); i++) { > + debug("autoprotecting from %08x to %08x\n", > + apl[i].start, apl[i].start + apl[i].size - 1); > + flash_protect (FLAG_PROTECT_SET, > + apl[i].start, > + apl[i].start + apl[i].size - 1, > + flash_get_info(apl[i].start)); > + } > > What do you think? > > > Matthias > > > > On Friday 18 April 2008 18:01:57 Jean-Christophe PLAGNIOL-VILLARD wrote: > > > > diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c > > > > index e3cfb8a..68ab55f 100644 > > > > --- a/drivers/mtd/cfi_flash.c > > > > +++ b/drivers/mtd/cfi_flash.c > > > > @@ -1873,6 +1873,12 @@ unsigned long flash_init (void) > > > > { > > > > unsigned long size = 0; > > > > int i; > > > > +#if defined(CFG_FLASH_AUTOPROTECT_LIST) > > > > + struct apl_s { > > > > + ulong start; > > > > + ulong size; > > > > + } apl[] = CFG_FLASH_AUTOPROTECT_LIST; > > > > +#endif > > > > > > I think it will be better to create a weak structure. > > > > > > Best Regards, > > > J. > > > > !DSPAM:4809d80874783629025813! -- ------------------------------------------------------------------------- Dipl.-Ing. Matthias Fuchs Head of System Design esd electronic system design gmbh Vahrenwalder Str. 207 - 30165 Hannover - GERMANY Phone: +49-511-37298-0 - Fax: +49-511-37298-68 Please visit our homepage http://www.esd.eu Quality Products - Made in Germany ------------------------------------------------------------------------- Gesch?ftsf?hrer: Klaus Detering, Dr. Werner Schulze Amtsgericht Hannover HRB 51373 - VAT-ID DE 115672832 -------------------------------------------------------------------------