aboutsummaryrefslogtreecommitdiffstats
path: root/linux_mtd.c
diff options
context:
space:
mode:
authorAnastasia Klimchuk <aklm@chromium.org>2021-05-13 12:56:51 +1000
committerEdward O'Callaghan <quasisec@chromium.org>2021-05-23 04:19:22 +0000
commit9a2f91d7eb07bfe1cc1fa52359e56f5498d89f84 (patch)
tree0a773d0bfa85cd9e8b6df308dd7a36caec8717c2 /linux_mtd.c
parent9309bed2906440cfac1257135805fd82c5d8b7a8 (diff)
downloadflashrom-9a2f91d7eb07bfe1cc1fa52359e56f5498d89f84.tar.gz
flashrom-9a2f91d7eb07bfe1cc1fa52359e56f5498d89f84.tar.bz2
flashrom-9a2f91d7eb07bfe1cc1fa52359e56f5498d89f84.zip
programmer: Make use of new register_opaque_master() API
Pass pointers to dynamically allocated data to register_opaque_master(). This way we can avoid a mutable global. BUG=b:185191942 TEST=builds Change-Id: I160810cd67f782131962e96fc6d20e2987fb0390 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/54171 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 'linux_mtd.c')
-rw-r--r--linux_mtd.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/linux_mtd.c b/linux_mtd.c
index aeaecce2..a1af0696 100644
--- a/linux_mtd.c
+++ b/linux_mtd.c
@@ -295,7 +295,7 @@ static int linux_mtd_erase(struct flashctx *flash,
return 0;
}
-static struct opaque_master programmer_linux_mtd = {
+static const struct opaque_master programmer_linux_mtd = {
/* max_data_{read,write} don't have any effect for this programmer */
.max_data_read = MAX_DATA_UNSPECIFIED,
.max_data_write = MAX_DATA_UNSPECIFIED,
@@ -418,13 +418,12 @@ int linux_mtd_init(void)
goto linux_mtd_init_exit;
}
- programmer_linux_mtd.data = data;
if (register_shutdown(linux_mtd_shutdown, (void *)data)) {
free(data);
goto linux_mtd_init_exit;
}
- register_opaque_master(&programmer_linux_mtd, NULL);
+ register_opaque_master(&programmer_linux_mtd, data);
ret = 0;
linux_mtd_init_exit: