programmer: Make use of new register_par_master() API

Pass pointers to dynamically allocated data to register_par_master().
This way we can avoid a mutable global.

Change-Id: I76572e43d01f8a5e1aa73b1b9e8a187465ed8fef
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54172
Original-Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72204
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/dummyflasher.c b/dummyflasher.c
index a5eb10d..88ef112 100644
--- a/dummyflasher.c
+++ b/dummyflasher.c
@@ -124,7 +124,7 @@
 	.write_aai	= default_spi_write_aai,
 };
 
-static struct par_master par_master_dummy = {
+static const struct par_master par_master_dummy = {
 	.chip_readb	= dummy_chip_readb,
 	.chip_readw	= dummy_chip_readw,
 	.chip_readl	= dummy_chip_readl,
@@ -441,7 +441,6 @@
 		return 1;
 	}
 	data->emu_chip = EMULATE_NONE;
-	par_master_dummy.data = data;
 
 	msg_pspew("%s\n", __func__);
 
@@ -497,7 +496,7 @@
 	if (dummy_buses_supported & BUS_NONSPI)
 		register_par_master(&par_master_dummy,
 				    dummy_buses_supported & BUS_NONSPI,
-				    NULL);
+				    data);
 	if (dummy_buses_supported & BUS_SPI)
 		register_spi_master(&spi_master_dummyflasher, data);