diff options
Diffstat (limited to 'roms/skiboot/external/common/arch_flash_unknown.c')
-rw-r--r-- | roms/skiboot/external/common/arch_flash_unknown.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/roms/skiboot/external/common/arch_flash_unknown.c b/roms/skiboot/external/common/arch_flash_unknown.c new file mode 100644 index 000000000..00a355600 --- /dev/null +++ b/roms/skiboot/external/common/arch_flash_unknown.c @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: Apache-2.0 +/* Copyright 2013-2017 IBM Corp. + */ + +#include <stdlib.h> +#include <stdio.h> +#include <limits.h> +#include <unistd.h> +#include <dirent.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <string.h> + +#include <libflash/file.h> + +#include "arch_flash.h" + +int arch_flash_init(struct blocklevel_device **r_bl, const char *file, bool keep_alive) +{ + int rc; + struct blocklevel_device *new_bl; + + /* Must have passed through a file to operate on */ + if (!file) { + fprintf(stderr, "Cannot operate without a file\n"); + return -1; + } + + rc = file_init_path(file, NULL, keep_alive, &new_bl); + if (rc) + return -1; + + *r_bl = new_bl; + return 0; +} + +void arch_flash_close(struct blocklevel_device *bl, const char *file) +{ + (void)file; + file_exit_close(bl); +} |