Attention is currently required from: Felix Singer, Nico Huber, Thomas Heijligen, Angel Pons, Anastasia Klimchuk, Alexander Goncharov.
Edward O'Callaghan has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/67393 )
Change subject: tree/: Move programmer_delay() out of programmer state machine ......................................................................
Patch Set 6:
(1 comment)
Commit Message:
https://review.coreboot.org/c/flashrom/+/67393/comment/12f8bb3e_7bccaa27 PS4, Line 13:
Hmmm, looks like the main source of confusion is lack of documentation regarding flashrom layers and […]
If the only remaining question is about scoping global variables used within the two custom programmer delay workers then this is trivial to answer. The custom programmer delay functions are programmer specific and therefore their global scope is to that of the programmers unit of work. It directly follows that the programmers data field may therefore be leverage to carry this state and this is thus accessible via the `flashctx`. The dispatch site of `programmer_delay()` that calls into the programmer specific delays simply just needs to pass the ctx into the callbacks, this is a trivial signature change to `void (*delay) (unsigned int usecs); -> void (*delay) (const struct flashctx *flash, unsigned int usecs);` with both the `par_master` and `spi_master` struct's. Certainly nothing to do with confusion of flashrom layers or structures.