|
@@ -320,6 +320,13 @@ void persistent_ram_free_old(struct persistent_ram_zone *prz)
|
|
prz->old_log_size = 0;
|
|
prz->old_log_size = 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void persistent_ram_zap(struct persistent_ram_zone *prz)
|
|
|
|
+{
|
|
|
|
+ atomic_set(&prz->buffer->start, 0);
|
|
|
|
+ atomic_set(&prz->buffer->size, 0);
|
|
|
|
+ persistent_ram_update_header_ecc(prz);
|
|
|
|
+}
|
|
|
|
+
|
|
static void *persistent_ram_vmap(phys_addr_t start, size_t size)
|
|
static void *persistent_ram_vmap(phys_addr_t start, size_t size)
|
|
{
|
|
{
|
|
struct page **pages;
|
|
struct page **pages;
|
|
@@ -414,8 +421,7 @@ static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool
|
|
}
|
|
}
|
|
|
|
|
|
prz->buffer->sig = PERSISTENT_RAM_SIG;
|
|
prz->buffer->sig = PERSISTENT_RAM_SIG;
|
|
- atomic_set(&prz->buffer->start, 0);
|
|
|
|
- atomic_set(&prz->buffer->size, 0);
|
|
|
|
|
|
+ persistent_ram_zap(prz);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -450,7 +456,6 @@ struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start,
|
|
goto err;
|
|
goto err;
|
|
|
|
|
|
persistent_ram_post_init(prz, ecc);
|
|
persistent_ram_post_init(prz, ecc);
|
|
- persistent_ram_update_header_ecc(prz);
|
|
|
|
|
|
|
|
return prz;
|
|
return prz;
|
|
err:
|
|
err:
|