Carl-Daniel Hailfinger wrote:
I beg to differ. Since we want to keep as much code as possible shared for every flasher (SPI master), working around design bugs is more efficient than changing flashrom to conform to every weird piece of hardware out there.
Sometimes it is just difficult, but I see your point.
Right now, drivers can override many SPI generic operations as needed. If the abstraction is now powerful enough, I'm all for improving it.
The abstraction is ok then. I just have some words on how generic SPI layer sends commands to specific drivers. Now it does that by specifying byte sequences that are transfered on the wire. Some semantic information is lost here and the driver code has to guess. The ICH SPI driver code looks really bad in the design(I have contributed some to that) and coding(no offensive to anyone). I think command specification has something to do with the bad design part.
Sorry for looking from the ICH SPI's view so often, but I just seriously read that part so care more about it than other parts.
Adding support for external programmers will certainly entail new challenges.
Challenges bring opportunity to improve.
yu ning