summaryrefslogtreecommitdiffstats
path: root/spi.c
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2022-09-09 23:14:06 +1000
committerThomas Heijligen <src@posteo.de>2023-03-01 09:43:17 +0000
commit119d0e5236df69702c5ac5be593c4aa683e2b35d (patch)
tree98ee5bafbbdc4bb8346594ba2f49f76de31830c6 /spi.c
parent263d50c7d1f149c5d0f14512a1f6251b2a4e878f (diff)
downloadflashrom-119d0e5236df69702c5ac5be593c4aa683e2b35d.tar.gz
flashrom-119d0e5236df69702c5ac5be593c4aa683e2b35d.tar.bz2
flashrom-119d0e5236df69702c5ac5be593c4aa683e2b35d.zip
spi: Make 'default_spi_send_multicommand' the default unless defined
A NULL func pointer is necessary and sufficient for the condition `NULL func pointer => default_spi_send_multicommand' as to not need this explicit specification of 'default'. Therefore drop the explicit need to specify the 'default_spi_send_multicommand' callback function pointer in the spi_master struct. This is a reasonable default for every other driver in the tree with only a few exceptions. This simplifies the code and driver development. Change-Id: I6cc24bf982da3d5251d391eb397db43dd10280e8 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/67481 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Thomas Heijligen <src@posteo.de>
Diffstat (limited to 'spi.c')
-rw-r--r--spi.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/spi.c b/spi.c
index ca27cbb1e..4fe0fa5c9 100644
--- a/spi.c
+++ b/spi.c
@@ -37,7 +37,9 @@ int spi_send_command(const struct flashctx *flash, unsigned int writecnt,
int spi_send_multicommand(const struct flashctx *flash, struct spi_command *cmds)
{
- return flash->mst->spi.multicommand(flash, cmds);
+ if (flash->mst->spi.multicommand)
+ return flash->mst->spi.multicommand(flash, cmds);
+ return default_spi_send_multicommand(flash, cmds);
}
int default_spi_send_command(const struct flashctx *flash, unsigned int writecnt,
@@ -153,10 +155,9 @@ int register_spi_master(const struct spi_master *mst, void *data)
}
}
- if (!mst->write_256 || !mst->read ||
- !mst->multicommand || !mst->probe_opcode ||
+ if (!mst->write_256 || !mst->read || !mst->probe_opcode ||
((mst->command == default_spi_send_command || !mst->command) &&
- (mst->multicommand == default_spi_send_multicommand))) {
+ (mst->multicommand == default_spi_send_multicommand || !mst->multicommand))) {
msg_perr("%s called with incomplete master definition. "
"Please report a bug at flashrom@flashrom.org\n",
__func__);