Introduce generic shutdown_free() and remove redundant internal_shutdown()
The former will be useful in cases where cleanup equals a simple call to free().
Corresponding to flashrom svn r1848.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/flash.h b/flash.h
index a5d3a55..03b26e7 100644
--- a/flash.h
+++ b/flash.h
@@ -54,6 +54,7 @@
#define PRIuCHIPSIZE PRIu32
int register_shutdown(int (*function) (void *data), void *data);
+int shutdown_free(void *data);
void *programmer_map_flash_region(const char *descr, uintptr_t phys_addr, size_t len);
void programmer_unmap_flash_region(void *virt_addr, size_t len);
void programmer_delay(unsigned int usecs);
diff --git a/flashrom.c b/flashrom.c
index 01c1d03..9b82d4c 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -373,6 +373,12 @@
static int check_block_eraser(const struct flashctx *flash, int k, int log);
+int shutdown_free(void *data)
+{
+ free(data);
+ return 0;
+}
+
/* Register a function to be executed on programmer shutdown.
* The advantage over atexit() is that you can supply a void pointer which will
* be used as parameter to the registered function upon programmer shutdown.
diff --git a/internal.c b/internal.c
index 54b2aa3..e646ca8 100644
--- a/internal.c
+++ b/internal.c
@@ -158,11 +158,6 @@
enum chipbustype internal_buses_supported = BUS_NONE;
-static int internal_shutdown(void *data)
-{
- return 0;
-}
-
int internal_init(void)
{
#if __FLASHROM_LITTLE_ENDIAN__
@@ -237,8 +232,6 @@
if (rget_io_perms())
return 1;
- if (register_shutdown(internal_shutdown, NULL))
- return 1;
/* Default to Parallel/LPC/FWH flash devices. If a known host controller
* is found, the host controller init routine sets the