diff options
-rw-r--r-- | src/barebox-state/backend_bucket_cached.c | 14 | ||||
-rw-r--r-- | src/barebox-state/backend_bucket_circular.c | 13 | ||||
-rw-r--r-- | src/barebox-state/backend_storage.c | 34 | ||||
-rw-r--r-- | src/barebox-state/state.h | 5 |
4 files changed, 6 insertions, 60 deletions
diff --git a/src/barebox-state/backend_bucket_cached.c b/src/barebox-state/backend_bucket_cached.c index ba0af7f..5e7f44c 100644 --- a/src/barebox-state/backend_bucket_cached.c +++ b/src/barebox-state/backend_bucket_cached.c @@ -110,19 +110,6 @@ static int state_backend_bucket_cache_write(struct state_backend_storage_bucket return 0; } -static int state_backend_bucket_cache_init( - struct state_backend_storage_bucket *bucket) -{ - struct state_backend_storage_bucket_cache *cache = - get_bucket_cache(bucket); - - if (cache->raw->init) { - return cache->raw->init(cache->raw); - } - - return 0; -} - static void state_backend_bucket_cache_free( struct state_backend_storage_bucket *bucket) { @@ -147,7 +134,6 @@ int state_backend_bucket_cached_create(struct device_d *dev, cache->bucket.free = state_backend_bucket_cache_free; cache->bucket.read = state_backend_bucket_cache_read; cache->bucket.write = state_backend_bucket_cache_write; - cache->bucket.init = state_backend_bucket_cache_init; *out = &cache->bucket; diff --git a/src/barebox-state/backend_bucket_circular.c b/src/barebox-state/backend_bucket_circular.c index 53c2aae..8eae866 100644 --- a/src/barebox-state/backend_bucket_circular.c +++ b/src/barebox-state/backend_bucket_circular.c @@ -456,8 +456,7 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path, struct state_backend_storage_bucket **bucket, unsigned int eraseblock, ssize_t writesize, - struct mtd_info_user *mtd_uinfo, - bool lazy_init) + struct mtd_info_user *mtd_uinfo) { struct state_backend_storage_bucket_circular *circ; int ret; @@ -493,13 +492,9 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path, circ->bucket.free = state_backend_bucket_circular_free; *bucket = &circ->bucket; - if (!lazy_init) { - ret = state_backend_bucket_circular_init(*bucket); - if (ret) - goto out_free; - } else { - circ->bucket.init = state_backend_bucket_circular_init; - } + ret = state_backend_bucket_circular_init(*bucket); + if (ret) + goto out_free; return 0; diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c index 3c2fdd9..b793fb6 100644 --- a/src/barebox-state/backend_storage.c +++ b/src/barebox-state/backend_storage.c @@ -28,23 +28,6 @@ const unsigned int min_copies_written = 1; -static int bucket_lazy_init(struct state_backend_storage_bucket *bucket) -{ - int ret; - - if (bucket->initialized) - return 0; - - if (bucket->init) { - ret = bucket->init(bucket); - if (ret) - return ret; - } - bucket->initialized = true; - - return 0; -} - /** * state_storage_write - Writes the given data to the storage * @param storage Storage object @@ -70,13 +53,6 @@ int state_storage_write(struct state_backend_storage *storage, return 0; list_for_each_entry(bucket, &storage->buckets, bucket_list) { - ret = bucket_lazy_init(bucket); - if (ret) { - dev_warn(storage->dev, "Failed to init bucket/write state backend bucket, %d\n", - ret); - continue; - } - ret = bucket->write(bucket, buf, len); if (ret < 0) { dev_warn(storage->dev, "Failed to write state backend bucket, %d\n", @@ -137,12 +113,6 @@ int state_storage_read(struct state_backend_storage *storage, list_for_each_entry(bucket, &storage->buckets, bucket_list) { *len = 0; - ret = bucket_lazy_init(bucket); - if (ret) { - dev_warn(storage->dev, "Failed to init bucket/read state backend bucket, %d\n", - ret); - continue; - } ret = bucket->read(bucket, buf, len); if (ret) { @@ -288,14 +258,12 @@ static int state_storage_mtd_buckets_init(struct state_backend_storage *storage, for (offset = dev_offset; offset < end; offset += meminfo->erasesize) { int ret; unsigned int eraseblock = offset / meminfo->erasesize; - bool lazy_init = true; ret = state_backend_bucket_circular_create(storage->dev, path, &bucket, eraseblock, writesize, - meminfo, - lazy_init); + meminfo); if (ret) { dev_warn(storage->dev, "Failed to create bucket at '%s' eraseblock %u\n", path, eraseblock); diff --git a/src/barebox-state/state.h b/src/barebox-state/state.h index 4ef4669..6f5de31 100644 --- a/src/barebox-state/state.h +++ b/src/barebox-state/state.h @@ -20,14 +20,12 @@ struct mtd_info_user; * @bucket_list A list element struct to attach this bucket to a list */ struct state_backend_storage_bucket { - int (*init) (struct state_backend_storage_bucket * bucket); int (*write) (struct state_backend_storage_bucket * bucket, const uint8_t * buf, ssize_t len); int (*read) (struct state_backend_storage_bucket * bucket, uint8_t ** buf, ssize_t * len_hint); void (*free) (struct state_backend_storage_bucket * bucket); - bool initialized; struct list_head bucket_list; }; @@ -196,8 +194,7 @@ int state_backend_bucket_circular_create(struct device_d *dev, const char *path, struct state_backend_storage_bucket **bucket, unsigned int eraseblock, ssize_t writesize, - struct mtd_info_user *mtd_uinfo, - bool lazy_init); + struct mtd_info_user *mtd_uinfo); int state_backend_bucket_cached_create(struct device_d *dev, struct state_backend_storage_bucket *raw, struct state_backend_storage_bucket **out); |