diff options
-rw-r--r-- | drivers/staging/android/persistent_ram.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/drivers/staging/android/persistent_ram.c b/drivers/staging/android/persistent_ram.c index 63481dad9b76..4b46eaad5f56 100644 --- a/drivers/staging/android/persistent_ram.c +++ b/drivers/staging/android/persistent_ram.c | |||
@@ -384,28 +384,6 @@ static int persistent_ram_buffer_map(phys_addr_t start, phys_addr_t size, | |||
384 | return 0; | 384 | return 0; |
385 | } | 385 | } |
386 | 386 | ||
387 | static int __init persistent_ram_buffer_init(const char *name, | ||
388 | struct persistent_ram_zone *prz) | ||
389 | { | ||
390 | int i; | ||
391 | struct persistent_ram *ram; | ||
392 | struct persistent_ram_descriptor *desc; | ||
393 | phys_addr_t start; | ||
394 | |||
395 | list_for_each_entry(ram, &persistent_ram_list, node) { | ||
396 | start = ram->start; | ||
397 | for (i = 0; i < ram->num_descs; i++) { | ||
398 | desc = &ram->descs[i]; | ||
399 | if (!strcmp(desc->name, name)) | ||
400 | return persistent_ram_buffer_map(start, | ||
401 | desc->size, prz); | ||
402 | start += desc->size; | ||
403 | } | ||
404 | } | ||
405 | |||
406 | return -EINVAL; | ||
407 | } | ||
408 | |||
409 | static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool ecc) | 387 | static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool ecc) |
410 | { | 388 | { |
411 | int ret; | 389 | int ret; |
@@ -478,6 +456,29 @@ err: | |||
478 | return ERR_PTR(ret); | 456 | return ERR_PTR(ret); |
479 | } | 457 | } |
480 | 458 | ||
459 | #ifndef MODULE | ||
460 | static int __init persistent_ram_buffer_init(const char *name, | ||
461 | struct persistent_ram_zone *prz) | ||
462 | { | ||
463 | int i; | ||
464 | struct persistent_ram *ram; | ||
465 | struct persistent_ram_descriptor *desc; | ||
466 | phys_addr_t start; | ||
467 | |||
468 | list_for_each_entry(ram, &persistent_ram_list, node) { | ||
469 | start = ram->start; | ||
470 | for (i = 0; i < ram->num_descs; i++) { | ||
471 | desc = &ram->descs[i]; | ||
472 | if (!strcmp(desc->name, name)) | ||
473 | return persistent_ram_buffer_map(start, | ||
474 | desc->size, prz); | ||
475 | start += desc->size; | ||
476 | } | ||
477 | } | ||
478 | |||
479 | return -EINVAL; | ||
480 | } | ||
481 | |||
481 | static __init | 482 | static __init |
482 | struct persistent_ram_zone *__persistent_ram_init(struct device *dev, bool ecc) | 483 | struct persistent_ram_zone *__persistent_ram_init(struct device *dev, bool ecc) |
483 | { | 484 | { |
@@ -528,3 +529,4 @@ int __init persistent_ram_early_init(struct persistent_ram *ram) | |||
528 | 529 | ||
529 | return 0; | 530 | return 0; |
530 | } | 531 | } |
532 | #endif | ||