summaryrefslogtreecommitdiffstats
path: root/src/barebox-state/backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/barebox-state/backend.c')
-rw-r--r--src/barebox-state/backend.c31
1 files changed, 5 insertions, 26 deletions
diff --git a/src/barebox-state/backend.c b/src/barebox-state/backend.c
index 054f8d6..2f2e6df 100644
--- a/src/barebox-state/backend.c
+++ b/src/barebox-state/backend.c
@@ -153,8 +153,6 @@ int state_backend_init(struct state_backend *backend, struct device_d *dev,
char *of_path, off_t offset, size_t max_size,
uint32_t stridesize, const char *storagetype)
{
- struct state_backend_storage_bucket *bucket;
- struct state_backend_storage_bucket *bucket_tmp;
int ret;
ret = state_format_init(backend, dev, backend_format, node, state_name);
@@ -166,34 +164,10 @@ int state_backend_init(struct state_backend *backend, struct device_d *dev,
if (ret)
goto out_free_format;
- list_for_each_entry_safe(bucket, bucket_tmp, &backend->storage.buckets,
- bucket_list) {
- if (!bucket->init)
- continue;
-
- ret = bucket->init(bucket);
- if (ret) {
- dev_warn(dev, "Bucket init failed, state degraded, %d\n",
- ret);
- list_del(&bucket->bucket_list);
- bucket->free(bucket);
- continue;
- }
- }
-
- if (list_empty(&backend->storage.buckets)) {
- dev_err(dev, "Failed to initialize any state bucket\n");
- ret = -EIO;
- goto out_free_storage;
- }
-
-
backend->of_path = of_path;
return 0;
-out_free_storage:
- state_storage_free(&backend->storage);
out_free_format:
state_format_free(backend->format);
backend->format = NULL;
@@ -201,6 +175,11 @@ out_free_format:
return ret;
}
+void state_backend_set_readonly(struct state_backend *backend)
+{
+ state_storage_set_readonly(&backend->storage);
+}
+
void state_backend_free(struct state_backend *backend)
{
state_storage_free(&backend->storage);