drivers/: Make 'internal_delay' the default unless defined
Drop the explicit need to specify the default 'internal_delay'
callback function pointer in the programmer_entry struct.
This is a reasonable default for every other driver in the
tree with only the two exceptions of ch341a_spi.c and serprog.c.
Thus this simplifies driver development.
flashrom-stable: Updated `dirtyjtag_spi` which was added earlier.
Change-Id: I17460bc2c0aebcbb48c8dfa052b260991525cc49
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67391
Original-Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Reviewed-by: Thomas Heijligen <src@posteo.de>
Original-Reviewed-by: Felix Singer <felixsinger@posteo.net>
Original-Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72359
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/flashrom.c b/flashrom.c
index d08c130..c434cff 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -223,8 +223,12 @@
void programmer_delay(unsigned int usecs)
{
- if (usecs > 0)
- programmer->delay(usecs);
+ if (usecs > 0) {
+ if (programmer->delay)
+ programmer->delay(usecs);
+ else
+ internal_delay(usecs);
+ }
}
int read_memmapped(struct flashctx *flash, uint8_t *buf, unsigned int start,
@@ -1416,10 +1420,6 @@
msg_gerr("Programmer %s does not have a valid init function!\n", p->name);
ret = 1;
}
- if (p->delay == NULL) {
- msg_gerr("Programmer %s does not have a valid delay function!\n", p->name);
- ret = 1;
- }
if (p->map_flash_region == NULL) {
msg_gerr("Programmer %s does not have a valid map_flash_region function!\n", p->name);
ret = 1;