aboutsummaryrefslogtreecommitdiffstats
path: root/fs/pstore/ram.c
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2015-11-23 22:46:28 +1100
committerJames Morris <james.l.morris@oracle.com>2015-11-23 22:46:28 +1100
commitebd68df3f24b318d391d15c458d6f43f340ba36a (patch)
treef0277bc4b853abe5db1d30fa4e10b05bba7f2ac5 /fs/pstore/ram.c
parentsecurity/capability.h: cap_issubset/isclear can be boolean (diff)
parentLinux 4.4-rc2 (diff)
downloadlinux-dev-ebd68df3f24b318d391d15c458d6f43f340ba36a.tar.xz
linux-dev-ebd68df3f24b318d391d15c458d6f43f340ba36a.zip
Sync to Linus v4.4-rc2 for LSM developers.
Diffstat (limited to 'fs/pstore/ram.c')
-rw-r--r--fs/pstore/ram.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 6c26c4daaec9..319c3a60cfa5 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -578,30 +578,27 @@ fail_out:
return err;
}
-static int __exit ramoops_remove(struct platform_device *pdev)
+static int ramoops_remove(struct platform_device *pdev)
{
-#if 0
- /* TODO(kees): We cannot unload ramoops since pstore doesn't support
- * unregistering yet.
- */
struct ramoops_context *cxt = &oops_cxt;
- iounmap(cxt->virt_addr);
- release_mem_region(cxt->phys_addr, cxt->size);
+ pstore_unregister(&cxt->pstore);
cxt->max_dump_cnt = 0;
- /* TODO(kees): When pstore supports unregistering, call it here. */
kfree(cxt->pstore.buf);
cxt->pstore.bufsize = 0;
+ persistent_ram_free(cxt->mprz);
+ persistent_ram_free(cxt->fprz);
+ persistent_ram_free(cxt->cprz);
+ ramoops_free_przs(cxt);
+
return 0;
-#endif
- return -EBUSY;
}
static struct platform_driver ramoops_driver = {
.probe = ramoops_probe,
- .remove = __exit_p(ramoops_remove),
+ .remove = ramoops_remove,
.driver = {
.name = "ramoops",
},