From 45e0a071f13a684166335394c4ea40c9d055e198 Mon Sep 17 00:00:00 2001 From: Anastasia Klimchuk Date: Tue, 25 May 2021 13:53:25 +1000 Subject: spi_master: Make use of new register_spi_master() API Some more spi masters are now ready to get the advantage of new API and pass pointers to dynamically allocated data to register_spi_master(). This way we can avoid some mutable globals. BUG=b:185191942 TEST=./flashrom --programmer raiden_debug_spi -r $(mktemp) ./flashrom --programmer raiden_debug_spi -v /tmp/tmp.Fch5QLVb4R Change-Id: If72f54c28a95b402b3565fd14ea481f734e1c970 Signed-off-by: Anastasia Klimchuk Reviewed-on: https://review.coreboot.org/c/flashrom/+/54889 Reviewed-by: Edward O'Callaghan Tested-by: build bot (Jenkins) --- ene_lpc.c | 5 ++--- mec1308.c | 5 ++--- raiden_debug_spi.c | 4 ++-- realtek_mst_i2c_spi.c | 6 ++---- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/ene_lpc.c b/ene_lpc.c index 46f17832..04c17e38 100644 --- a/ene_lpc.c +++ b/ene_lpc.c @@ -504,7 +504,7 @@ exit: return rv; } -static struct spi_master spi_master_ene = { +static const struct spi_master spi_master_ene = { .max_data_read = 256, .max_data_write = 256, .command = ene_spi_send_command, @@ -568,11 +568,10 @@ int ene_lpc_init() ene_enter_flash_mode(ctx_data); internal_buses_supported |= BUS_LPC; - spi_master_ene.data = ctx_data; if (register_shutdown(ene_leave_flash_mode, ctx_data)) goto init_err_cleanup_exit; - register_spi_master(&spi_master_ene, NULL); + register_spi_master(&spi_master_ene, ctx_data); msg_pdbg("%s: successfully initialized ene\n", __func__); return 0; diff --git a/mec1308.c b/mec1308.c index 70d2a796..3923d5bd 100644 --- a/mec1308.c +++ b/mec1308.c @@ -397,7 +397,7 @@ mec1308_spi_send_command_exit: return rc; } -static struct spi_master spi_master_mec1308 = { +static const struct spi_master spi_master_mec1308 = { .max_data_read = 256, /* FIXME: should be MAX_DATA_READ_UNLIMITED? */ .max_data_write = 256, /* FIXME: should be MAX_DATA_WRITE_UNLIMITED? */ .command = mec1308_spi_send_command, @@ -505,11 +505,10 @@ int mec1308_init(void) goto init_err_cleanup_exit; internal_buses_supported |= BUS_LPC; /* for LPC <--> SPI bridging */ - spi_master_mec1308.data = ctx_data; if (register_shutdown(mec1308_shutdown, ctx_data)) goto init_err_cleanup_exit; - register_spi_master(&spi_master_mec1308, NULL); + register_spi_master(&spi_master_mec1308, ctx_data); msg_pdbg("%s(): successfully initialized mec1308\n", __func__); return 0; diff --git a/raiden_debug_spi.c b/raiden_debug_spi.c index c2758515..f67bbe5e 100644 --- a/raiden_debug_spi.c +++ b/raiden_debug_spi.c @@ -1597,7 +1597,7 @@ loop_end: data->in_ep = in_endpoint; data->out_ep = out_endpoint; - spi_config->data = data; + spi_config->data = data; /* data is needed to configure protocol below */ /* * The SPI master needs to be configured based on the device connected. * Using the device protocol interrogation, we will set the limits on @@ -1614,7 +1614,7 @@ loop_end: return SPI_GENERIC_ERROR; } - register_spi_master(spi_config, NULL); + register_spi_master(spi_config, data); register_shutdown(raiden_debug_spi_shutdown, spi_config); return 0; diff --git a/realtek_mst_i2c_spi.c b/realtek_mst_i2c_spi.c index f0a6dce9..95c017fa 100644 --- a/realtek_mst_i2c_spi.c +++ b/realtek_mst_i2c_spi.c @@ -410,7 +410,7 @@ static int realtek_mst_i2c_spi_write_aai(struct flashctx *flash, const uint8_t * return SPI_GENERIC_ERROR; } -static struct spi_master spi_master_i2c_realtek_mst = { +static const struct spi_master spi_master_i2c_realtek_mst = { .max_data_read = 16, .max_data_write = 8, .command = realtek_mst_i2c_spi_send_command, @@ -513,9 +513,7 @@ int realtek_mst_i2c_spi_init(void) data->fd = fd; data->reset = reset; ret |= register_shutdown(realtek_mst_i2c_spi_shutdown, data); - - spi_master_i2c_realtek_mst.data = data; - ret |= register_spi_master(&spi_master_i2c_realtek_mst, NULL); + ret |= register_spi_master(&spi_master_i2c_realtek_mst, data); return ret; } -- cgit v1.2.3