programmer: Make use of new register_spi_master() API

Pass pointers to dynamically allocated data to register_spi_master().
This way we can avoid some mutable globals.

flashrom-stable: Updated `dirtyjtag_spi` and `dediprog`
                 that were added/refactored earlier.

Change-Id: Id7821f1db3284b7b5b3d0abfd878b979c53870a1
Signed-off-by: Nico Huber <nico.h@gmx.de>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54067
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72200
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/dediprog.c b/dediprog.c
index 69c4782..af1f23f 100644
--- a/dediprog.c
+++ b/dediprog.c
@@ -1308,8 +1308,7 @@
 	if (dediprog_set_leds(LED_NONE, dp_data))
 		goto init_err_cleanup_exit;
 
-	spi_master_dediprog.data = dp_data;
-	return register_spi_master(&spi_master_dediprog, NULL);
+	return register_spi_master(&spi_master_dediprog, dp_data);
 
 init_err_cleanup_exit:
 	dediprog_shutdown(dp_data);