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 <[email protected]>
---
 common/state/Makefile          | 2 +-
 common/state/backend_storage.c | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/state/Makefile b/common/state/Makefile
index 23f72862b995..3e0e2c6e5516 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 c4508a8aba67..5dc8c5026733 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) {
-- 
2.8.1


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to