Commit 97d6b092 authored by Carl-Daniel Hailfinger's avatar Carl-Daniel Hailfinger
Browse files

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.

Corresponding to flashrom svn r488.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarRonald G. Minnich <rminnich@gmail.com>
parent 4c24ad4b
......@@ -113,7 +113,7 @@ struct flashchip *probe_flash(struct flashchip *first_flash, int force)
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 @@ notfound:
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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment