Fix Elan SC520 handling.
flashbase is a variable which should never be set outside chipset code. It is only used to calculate the base address of the flash space at exactly one location in the code.
Setting flashbase during probe caused subsequent probes to fail unless special handling code was used. We had such code and it caused every probe except the first to fail on Elan SC520.
Remove the superfluous flashbase assignment and simplify the rest of the code.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-flashbase/flashrom.c =================================================================== --- flashrom-flashbase/flashrom.c (Revision 486) +++ flashrom-flashbase/flashrom.c (Arbeitskopie) @@ -113,7 +113,7 @@ size = getpagesize(); }
- base = flashbase && flashchips == first_flash ? flashbase : (0xffffffff - size + 1); + base = flashbase ? flashbase : (0xffffffff - size + 1); flash->virtual_memory = bios = physmap("flash chip", base, size);
if (force) @@ -135,7 +135,6 @@
printf("Found chip "%s %s" (%d KB) at physical address 0x%lx.\n", flash->vendor, flash->name, flash->total_size, base); - flashbase = base; return flash; }
Acked-by: Ronald G. Minnich rminnich@gmail.com
Wonder if anyone out there has an sc520 any more?
ron
On 09.05.2009 06:58, ron minnich wrote:
Acked-by: Ronald G. Minnich rminnich@gmail.com
Wonder if anyone out there has an sc520 any more?
Thanks, committed in r488.
Regards, Carl-Daniel
Carl-Daniel Hailfinger wrote:
Fix Elan SC520 handling.
Yeah no, it was already correct. But Ron is completely right - the SC520 is just not very important, so I don't care.
//Peter