diff options
-rw-r--r-- | fs/pstore/ram_core.c | 77 | ||||
-rw-r--r-- | include/linux/pstore_ram.h | 19 |
2 files changed, 0 insertions, 96 deletions
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c index 78f6d4b2addb..0fd81611525c 100644 --- a/fs/pstore/ram_core.c +++ b/fs/pstore/ram_core.c | |||
@@ -35,8 +35,6 @@ struct persistent_ram_buffer { | |||
35 | 35 | ||
36 | #define PERSISTENT_RAM_SIG (0x43474244) /* DBGC */ | 36 | #define PERSISTENT_RAM_SIG (0x43474244) /* DBGC */ |
37 | 37 | ||
38 | static __initdata LIST_HEAD(persistent_ram_list); | ||
39 | |||
40 | static inline size_t buffer_size(struct persistent_ram_zone *prz) | 38 | static inline size_t buffer_size(struct persistent_ram_zone *prz) |
41 | { | 39 | { |
42 | return atomic_read(&prz->buffer->size); | 40 | return atomic_read(&prz->buffer->size); |
@@ -462,78 +460,3 @@ err: | |||
462 | kfree(prz); | 460 | kfree(prz); |
463 | return ERR_PTR(ret); | 461 | return ERR_PTR(ret); |
464 | } | 462 | } |
465 | |||
466 | #ifndef MODULE | ||
467 | static int __init persistent_ram_buffer_init(const char *name, | ||
468 | struct persistent_ram_zone *prz) | ||
469 | { | ||
470 | int i; | ||
471 | struct persistent_ram *ram; | ||
472 | struct persistent_ram_descriptor *desc; | ||
473 | phys_addr_t start; | ||
474 | |||
475 | list_for_each_entry(ram, &persistent_ram_list, node) { | ||
476 | start = ram->start; | ||
477 | for (i = 0; i < ram->num_descs; i++) { | ||
478 | desc = &ram->descs[i]; | ||
479 | if (!strcmp(desc->name, name)) | ||
480 | return persistent_ram_buffer_map(start, | ||
481 | desc->size, prz); | ||
482 | start += desc->size; | ||
483 | } | ||
484 | } | ||
485 | |||
486 | return -EINVAL; | ||
487 | } | ||
488 | |||
489 | static __init | ||
490 | struct persistent_ram_zone *__persistent_ram_init(struct device *dev, bool ecc) | ||
491 | { | ||
492 | struct persistent_ram_zone *prz; | ||
493 | int ret = -ENOMEM; | ||
494 | |||
495 | prz = kzalloc(sizeof(struct persistent_ram_zone), GFP_KERNEL); | ||
496 | if (!prz) { | ||
497 | pr_err("persistent_ram: failed to allocate persistent ram zone\n"); | ||
498 | goto err; | ||
499 | } | ||
500 | |||
501 | ret = persistent_ram_buffer_init(dev_name(dev), prz); | ||
502 | if (ret) { | ||
503 | pr_err("persistent_ram: failed to initialize buffer\n"); | ||
504 | goto err; | ||
505 | } | ||
506 | |||
507 | persistent_ram_post_init(prz, ecc); | ||
508 | |||
509 | return prz; | ||
510 | err: | ||
511 | kfree(prz); | ||
512 | return ERR_PTR(ret); | ||
513 | } | ||
514 | |||
515 | struct persistent_ram_zone * __init | ||
516 | persistent_ram_init_ringbuffer(struct device *dev, bool ecc) | ||
517 | { | ||
518 | return __persistent_ram_init(dev, ecc); | ||
519 | } | ||
520 | |||
521 | int __init persistent_ram_early_init(struct persistent_ram *ram) | ||
522 | { | ||
523 | int ret; | ||
524 | |||
525 | ret = memblock_reserve(ram->start, ram->size); | ||
526 | if (ret) { | ||
527 | pr_err("Failed to reserve persistent memory from %08lx-%08lx\n", | ||
528 | (long)ram->start, (long)(ram->start + ram->size - 1)); | ||
529 | return ret; | ||
530 | } | ||
531 | |||
532 | list_add_tail(&ram->node, &persistent_ram_list); | ||
533 | |||
534 | pr_info("Initialized persistent memory from %08lx-%08lx\n", | ||
535 | (long)ram->start, (long)(ram->start + ram->size - 1)); | ||
536 | |||
537 | return 0; | ||
538 | } | ||
539 | #endif | ||
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h index 9385d41cb1c3..2470bb591434 100644 --- a/include/linux/pstore_ram.h +++ b/include/linux/pstore_ram.h | |||
@@ -25,21 +25,6 @@ | |||
25 | 25 | ||
26 | struct persistent_ram_buffer; | 26 | struct persistent_ram_buffer; |
27 | 27 | ||
28 | struct persistent_ram_descriptor { | ||
29 | const char *name; | ||
30 | phys_addr_t size; | ||
31 | }; | ||
32 | |||
33 | struct persistent_ram { | ||
34 | phys_addr_t start; | ||
35 | phys_addr_t size; | ||
36 | |||
37 | int num_descs; | ||
38 | struct persistent_ram_descriptor *descs; | ||
39 | |||
40 | struct list_head node; | ||
41 | }; | ||
42 | |||
43 | struct persistent_ram_zone { | 28 | struct persistent_ram_zone { |
44 | phys_addr_t paddr; | 29 | phys_addr_t paddr; |
45 | size_t size; | 30 | size_t size; |
@@ -63,15 +48,11 @@ struct persistent_ram_zone { | |||
63 | size_t old_log_size; | 48 | size_t old_log_size; |
64 | }; | 49 | }; |
65 | 50 | ||
66 | int persistent_ram_early_init(struct persistent_ram *ram); | ||
67 | |||
68 | struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start, | 51 | struct persistent_ram_zone * __init persistent_ram_new(phys_addr_t start, |
69 | size_t size, | 52 | size_t size, |
70 | bool ecc); | 53 | bool ecc); |
71 | void persistent_ram_free(struct persistent_ram_zone *prz); | 54 | void persistent_ram_free(struct persistent_ram_zone *prz); |
72 | void persistent_ram_zap(struct persistent_ram_zone *prz); | 55 | void persistent_ram_zap(struct persistent_ram_zone *prz); |
73 | struct persistent_ram_zone *persistent_ram_init_ringbuffer(struct device *dev, | ||
74 | bool ecc); | ||
75 | 56 | ||
76 | int persistent_ram_write(struct persistent_ram_zone *prz, const void *s, | 57 | int persistent_ram_write(struct persistent_ram_zone *prz, const void *s, |
77 | unsigned int count); | 58 | unsigned int count); |