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@xxxxxxxxxxxxxx> --- 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 barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox