summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2016-07-22 15:00:19 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-07-25 10:21:16 +0200
commitf3895311ef49171b58b5ea1f06942408c8685a1e (patch)
treee4f31ea1821c238d986e5293819bd11f0de0270b
parent2ccd60013dc2dabdb91cd2964cd9ce15eb949b1b (diff)
downloadbarebox-f3895311ef49171b58b5ea1f06942408c8685a1e.tar.gz
state: only build circular backend if MTD is enabled
The circular backend depends on MTD symbols and is only useful if MTD is present. Exclude it from the build if MTD is not enabled. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--common/state/Makefile2
-rw-r--r--common/state/backend_storage.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/common/state/Makefile b/common/state/Makefile
index 23f7286..3e0e2c6 100644
--- a/common/state/Makefile
+++ b/common/state/Makefile
@@ -5,5 +5,5 @@ obj-y += backend_format_dtb.o
obj-y += backend_format_raw.o
obj-y += backend_storage.o
obj-y += backend_bucket_direct.o
-obj-y += backend_bucket_circular.o
+obj-$(CONFIG_MTD) += backend_bucket_circular.o
obj-y += backend_bucket_cached.o
diff --git a/common/state/backend_storage.c b/common/state/backend_storage.c
index c4508a8..5dc8c50 100644
--- a/common/state/backend_storage.c
+++ b/common/state/backend_storage.c
@@ -471,7 +471,7 @@ int state_storage_init(struct state_backend_storage *storage,
off_t offset, size_t max_size, uint32_t stridesize,
const char *storagetype)
{
- int ret;
+ int ret = -ENODEV;
struct mtd_info_user meminfo;
INIT_LIST_HEAD(&storage->buckets);
@@ -479,7 +479,9 @@ int state_storage_init(struct state_backend_storage *storage,
storage->name = storagetype;
storage->stridesize = stridesize;
- ret = mtd_get_meminfo(path, &meminfo);
+ if (IS_ENABLED(CONFIG_MTD))
+ ret = mtd_get_meminfo(path, &meminfo);
+
if (!ret && !(meminfo.flags & MTD_NO_ERASE)) {
bool non_circular = false;
if (!storagetype) {