diff options
author | Anastasia Klimchuk <aklm@chromium.org> | 2021-05-13 12:28:47 +1000 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2021-05-23 04:18:54 +0000 |
commit | 9309bed2906440cfac1257135805fd82c5d8b7a8 (patch) | |
tree | 161cbae0a42155f150d6bb31cda696ad6a52dd8c /opaque.c | |
parent | 6a5db26e686d32165621a6839843639192a33102 (diff) | |
download | flashrom-9309bed2906440cfac1257135805fd82c5d8b7a8.tar.gz flashrom-9309bed2906440cfac1257135805fd82c5d8b7a8.tar.bz2 flashrom-9309bed2906440cfac1257135805fd82c5d8b7a8.zip |
programmer: Smoothen register_opaque_master() API
It was impossible to register a const struct opaque_master that would
point to dynamically allocated `data`. Fix that so that we won't
have to create more mutable globals.
BUG=b:185191942
TEST=builds
Change-Id: Id3adb4cf04ae04dbe87ddb96f30871cb5f7c8ff0
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/54170
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'opaque.c')
-rw-r--r-- | opaque.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -46,7 +46,7 @@ int erase_opaque(struct flashctx *flash, unsigned int blockaddr, unsigned int bl return flash->mst->opaque.erase(flash, blockaddr, blocklen); } -int register_opaque_master(const struct opaque_master *mst) +int register_opaque_master(const struct opaque_master *mst, void *data) { struct registered_master rmst = {0}; @@ -58,5 +58,7 @@ int register_opaque_master(const struct opaque_master *mst) } rmst.buses_supported = BUS_PROG; rmst.opaque = *mst; + if (data) + rmst.opaque.data = data; return register_master(&rmst); } |