On Sat, Jul 17, 2010 at 12:18:49AM +0200, Carl-Daniel Hailfinger wrote:
> New version, updated to apply against current svn.
> 
> flashrom had an implicit erase-on-write for most flash chip and
                                                             ^
                                                             s

> Compile tested and proofread, but that's it. The patch may cause
> flashrom to eat your dog or it may cause your dog to eat burned flash chips.
> Please test on real hardware. Thanks!
> 
> I have a cleanup patch for the write functions which will apply on top
> of this, but I wanted to keep this patch readable and self-contained.
> 
> Signed-off-by: Carl-Daniel Hailfinger <[email protected]>
 
Acked-by: Uwe Hermann <[email protected]>

Tested on ASUS A8NE-FM with "SST SST49LF004A/B" (512 KB, FWH) and on a
Dr. Kaiser PCI card with a "Macronix MX29F001B" (128 KB, Parallel).

Tested all operations including erase/write multiple times for good measure.


> Index: flashrom-no_implicit_erase_inside_write/flashchips.c
> ===================================================================
> --- flashrom-no_implicit_erase_inside_write/flashchips.c      (Revision 1083)
> +++ flashrom-no_implicit_erase_inside_write/flashchips.c      (Arbeitskopie)
> @@ -453,7 +453,7 @@
>               .model_id       = AT_25DF321,
>               .total_size     = 4096,
>               .page_size      = 256,
> -             .tested         = TEST_OK_PRW,
> +             .tested         = TEST_OK_PR,
>               .probe          = probe_spi_rdid,
>               .probe_timing   = TIMING_ZERO,
>               .block_erasers  =

Didn't check whether any new chips were added since this patch which
would also need their W bit removed. Feel free to merge that into the
patch and re-use my ack.


> Index: flashrom-no_implicit_erase_inside_write/82802ab.c
> ===================================================================
> --- flashrom-no_implicit_erase_inside_write/82802ab.c (Revision 1083)
> +++ flashrom-no_implicit_erase_inside_write/82802ab.c (Arbeitskopie)
> @@ -144,23 +144,6 @@
>       return 0;
>  }
>  
> -int erase_82802ab(struct flashchip *flash)
> -{
> -     int i;
> -     unsigned int total_size = flash->total_size * 1024;
> -
> -     msg_cspew("total_size is %d; flash->page_size is %d\n",
> -            total_size, flash->page_size);
> -     for (i = 0; i < total_size; i += flash->page_size)
> -             if (erase_block_82802ab(flash, i, flash->page_size)) {
> -                     msg_cerr("ERASE FAILED!\n");
> -                     return -1;
> -             }
> -     msg_cinfo("DONE ERASE\n");
> -
> -     return 0;
> -}

No longer needed? Not used currently anywhere, it seems.


Uwe.
-- 
http://hermann-uwe.de     | http://sigrok.org
http://randomprojects.org | http://unmaintained-free-software.org

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to