diff options
author | Michael Neuling <mikey@neuling.org> | 2015-02-20 11:37:52 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-02-23 13:35:48 +1100 |
commit | 8f22127ec50e6fa946f09af1e610b38555f11edd (patch) | |
tree | 33a1ed657a634a464471c59ba67d4df0a4d2a5df /libflash | |
parent | 323d0642bebb9b6365df7a98bfc77e9cd6be915f (diff) | |
download | skiboot-8f22127ec50e6fa946f09af1e610b38555f11edd.zip skiboot-8f22127ec50e6fa946f09af1e610b38555f11edd.tar.gz skiboot-8f22127ec50e6fa946f09af1e610b38555f11edd.tar.bz2 |
libffs: Add ecc parameter on ffs_part_info()
Add ecc parmenter to ffs_part_info() to indicate if the partition is ECC
protected or not. Fix all call sites.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'libflash')
-rw-r--r-- | libflash/libffs.c | 5 | ||||
-rw-r--r-- | libflash/libffs.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libflash/libffs.c b/libflash/libffs.c index dbe618c..cfd5456 100644 --- a/libflash/libffs.c +++ b/libflash/libffs.c @@ -215,7 +215,7 @@ int ffs_lookup_part(struct ffs_handle *ffs, const char *name, int ffs_part_info(struct ffs_handle *ffs, uint32_t part_idx, char **name, uint32_t *start, - uint32_t *total_size, uint32_t *act_size) + uint32_t *total_size, uint32_t *act_size, bool *ecc) { struct ffs_entry *raw_ent; struct ffs_entry ent; @@ -240,6 +240,9 @@ int ffs_part_info(struct ffs_handle *ffs, uint32_t part_idx, *total_size = ent.size * ffs->hdr.block_size; if (act_size) *act_size = ent.actual; + if (ecc) + *ecc = ((ent.user.datainteg & FFS_ENRY_INTEG_ECC) != 0); + if (name) { n = malloc(PART_NAME_MAX + 1); memset(n, 0, PART_NAME_MAX + 1); diff --git a/libflash/libffs.h b/libflash/libffs.h index 5a3ff40..69e44bb 100644 --- a/libflash/libffs.h +++ b/libflash/libffs.h @@ -47,7 +47,7 @@ int ffs_lookup_part(struct ffs_handle *ffs, const char *name, int ffs_part_info(struct ffs_handle *ffs, uint32_t part_idx, char **name, uint32_t *start, - uint32_t *total_size, uint32_t *act_size); + uint32_t *total_size, uint32_t *act_size, bool *ecc); int ffs_update_act_size(struct ffs_handle *ffs, uint32_t part_idx, uint32_t act_size); |