mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 14:33:18 +02:00
bitbang: Extend register_spi_bitbang_master() API with spi data
This allows the users of register_spi_bitbang_master() API to pass their spi data into the API, and then the data can go further, into register_spi_master() API. BUG=b:185191942 TEST=builds Change-Id: I13e83ae74dbc3a3e79c84d1463683d360ff47bc0 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/54990 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
This commit is contained in:

committed by
Edward O'Callaghan

parent
0bc0ab932e
commit
30815fc370
@ -96,6 +96,7 @@ static void bitbang_spi_write_byte(const struct bitbang_spi_master *master, uint
|
||||
|
||||
struct bitbang_spi_master_data {
|
||||
const struct bitbang_spi_master *master;
|
||||
void *spi_data;
|
||||
};
|
||||
|
||||
static int bitbang_spi_send_command(const struct flashctx *flash,
|
||||
@ -146,7 +147,7 @@ static int bitbang_spi_shutdown(void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int register_spi_bitbang_master(const struct bitbang_spi_master *master)
|
||||
int register_spi_bitbang_master(const struct bitbang_spi_master *master, void *spi_data)
|
||||
{
|
||||
struct spi_master mst = spi_master_bitbang;
|
||||
/* If someone forgot to initialize a bitbang function, we catch it here. */
|
||||
@ -161,6 +162,9 @@ int register_spi_bitbang_master(const struct bitbang_spi_master *master)
|
||||
|
||||
struct bitbang_spi_master_data *data = calloc(1, sizeof(struct bitbang_spi_master_data));
|
||||
data->master = master;
|
||||
if (spi_data)
|
||||
data->spi_data = spi_data;
|
||||
|
||||
register_spi_master(&mst, data);
|
||||
register_shutdown(bitbang_spi_shutdown, data);
|
||||
|
||||
|
Reference in New Issue
Block a user