Am 16.06.2014 02:50 schrieb Stefan Tauner:
Use dedicated jedec_probe_* functions where needed. The count of functions could be reduced in the future by using the slowest one instead(?).
Ah, no, that's not how it works. Each flash chip has dedicated timing requirements: if you send the probe sequence too slowly, some chips ignore it, and if you send it too fast, some other chips ignore it. Most newer chips can deal with slow and fast probes, but it's by no means guaranteed.
To mimic previous delay behavior in the jedec_erase_* functions a new feature flag was introduced: FEATURE_SLOW_ERASE_CMDS
Hm. Need to reread that part.
Also, the feature_bits field was changed from int to uint16_t.
That change increases code size and execution time because the compiler has to emit extra instructions and/or use prefixes to handle 16bit values.
Default make size counterintuitively increases slightly with gcc but shrinks with clang (about 4 kB or 0.75%).
Signed-off-by: Stefan Tauner firstname.lastname@example.org
More review later.