[PATCH 1/3] state: only build circular backend if MTD is enabled

Lucas Stach l.stach at pengutronix.de
Fri Jul 22 06:00:19 PDT 2016


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 at pengutronix.de>
---
 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




More information about the barebox mailing list