Nico Huber submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, approved
raiden_debug_spi: Link spi_master struct to spi data

For this programmer, spi_master struct is dynamically allocated
and needs to be freed on shutdown. Adding a pointer to spi data
struct allows to link spi_master from spi data, which in turn allows
to pass spi data into shutdown function. As a result, both
register_spi_master and register_shutdown use the same data, and
this unblocks moving raiden_debug_spi to new API (like all the
other spi masters in commit a69c5196d20d136b1de120f0fa5ea1e06c3776da).

See further patches in this chain.

BUG=b:185191942
TEST=test in CB:57918

Change-Id: I5400802aa6961538df12fcd5339f7e2a5db145a1
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/57972
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
---
M raiden_debug_spi.c
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/raiden_debug_spi.c b/raiden_debug_spi.c
index 92779fc..9cba2a8 100644
--- a/raiden_debug_spi.c
+++ b/raiden_debug_spi.c
@@ -441,6 +441,7 @@
*/
uint16_t max_spi_write_count;
uint16_t max_spi_read_count;
+ struct spi_master *spi_config;
};
/*
* USB permits a maximum bulk transfer of 64B.
@@ -1377,9 +1378,8 @@

static int raiden_debug_spi_shutdown(void * data)
{
- struct spi_master *spi_config = data;
- struct raiden_debug_spi_data *ctx_data =
- (struct raiden_debug_spi_data *)spi_config->data;
+ struct raiden_debug_spi_data *ctx_data = (struct raiden_debug_spi_data *)data;
+ struct spi_master *spi_config = ctx_data->spi_config;

int ret = LIBUSB(libusb_control_transfer(
ctx_data->dev->handle,
@@ -1594,6 +1594,7 @@
data->dev = device;
data->in_ep = in_endpoint;
data->out_ep = out_endpoint;
+ data->spi_config = spi_config;

spi_config->data = data; /* data is needed to configure protocol below */
/*
@@ -1613,7 +1614,7 @@
}

register_spi_master(spi_config, data);
- register_shutdown(raiden_debug_spi_shutdown, spi_config);
+ register_shutdown(raiden_debug_spi_shutdown, data);

return 0;
}

To view, visit change 57972. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I5400802aa6961538df12fcd5339f7e2a5db145a1
Gerrit-Change-Number: 57972
Gerrit-PatchSet: 3
Gerrit-Owner: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Edward O'Callaghan <quasisec@chromium.org>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Nikolai Artemiev <nartemiev@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@mailbox.org>
Gerrit-MessageType: merged