summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Grzeschik <m.grzeschik@pengutronix.de>2016-07-06 10:19:45 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-07-08 08:59:31 +0200
commite703d1ed730df92011f37692780b40fef110dd07 (patch)
treecbddc69fc9a112d9b10ae66a33390348468e827e
parent46f26c0dee4d4733a386d787a690496575a10c3a (diff)
downloadbarebox-e703d1ed730df92011f37692780b40fef110dd07.tar.gz
barebox-e703d1ed730df92011f37692780b40fef110dd07.tar.xz
state: also append backend storage stridesize
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--common/state/backend_storage.c1
-rw-r--r--common/state/state.c7
-rw-r--r--common/state/state.h2
3 files changed, 10 insertions, 0 deletions
diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c
index efe8bac05d..c4508a8aba 100644
--- a/common/state/backend_storage.c
+++ b/common/state/backend_storage.c
@@ -477,6 +477,7 @@ int state_storage_init(struct state_backend_storage *storage,
INIT_LIST_HEAD(&storage->buckets);
storage->dev = dev;
storage->name = storagetype;
+ storage->stridesize = stridesize;
ret = mtd_get_meminfo(path, &meminfo);
if (!ret && !(meminfo.flags & MTD_NO_ERASE)) {
diff --git a/common/state/state.c b/common/state/state.c
index 9f4553d69a..3997f8150c 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -370,6 +370,13 @@ static int of_state_fixup(struct device_node *root, void *ctx)
}
}
+ if (state->backend.storage.stridesize) {
+ ret = of_property_write_u32(new_node, "backend-stridesize",
+ state->backend.storage.stridesize);
+ if (ret)
+ goto out;
+ }
+
/* address-cells + size-cells */
ret = of_property_write_u32(new_node, "#address-cells", 1);
if (ret)
diff --git a/common/state/state.h b/common/state/state.h
index cd54767830..7f9651abd8 100644
--- a/common/state/state.h
+++ b/common/state/state.h
@@ -72,6 +72,8 @@ struct state_backend_storage {
const char *name;
+ uint32_t stridesize;
+
bool readonly;
};