staging: android: persistent_ram: Prepare for modular builds

This is a transition patch to keep things bisectable, just moves
some routines under '#ifndef MODULE'. The code inside the #ifndef
will go away soon, but so far we must support pstore and ram_console.

So, we are about to use persistent_ram with pstore, with the ability
to compile persistent_ram routines as modules. Some parts of
persistent_ram uses memblock_reserve() routine, which is should be
only used built-in code, and thus it is not exported.

These persistent_ram bits are only used by Android's ram_console,
which is always built-in.

Without this patch, we won't able to compile persistent_ram as a
module:

ERROR: "memblock_reserve" [fs/pstore/ramoops.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

(As alternative, we could export memblock_reserve, but the thing
is: we won't need it later.)

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Anton Vorontsov 2012-05-16 05:43:19 -07:00 committed by Greg Kroah-Hartman
parent 2717fca171
commit 7dd8e9be9d

View File

@ -384,28 +384,6 @@ static int persistent_ram_buffer_map(phys_addr_t start, phys_addr_t size,
return 0; return 0;
} }
static int __init persistent_ram_buffer_init(const char *name,
struct persistent_ram_zone *prz)
{
int i;
struct persistent_ram *ram;
struct persistent_ram_descriptor *desc;
phys_addr_t start;
list_for_each_entry(ram, &persistent_ram_list, node) {
start = ram->start;
for (i = 0; i < ram->num_descs; i++) {
desc = &ram->descs[i];
if (!strcmp(desc->name, name))
return persistent_ram_buffer_map(start,
desc->size, prz);
start += desc->size;
}
}
return -EINVAL;
}
static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool ecc) static int __init persistent_ram_post_init(struct persistent_ram_zone *prz, bool ecc)
{ {
int ret; int ret;
@ -478,6 +456,29 @@ err:
return ERR_PTR(ret); return ERR_PTR(ret);
} }
#ifndef MODULE
static int __init persistent_ram_buffer_init(const char *name,
struct persistent_ram_zone *prz)
{
int i;
struct persistent_ram *ram;
struct persistent_ram_descriptor *desc;
phys_addr_t start;
list_for_each_entry(ram, &persistent_ram_list, node) {
start = ram->start;
for (i = 0; i < ram->num_descs; i++) {
desc = &ram->descs[i];
if (!strcmp(desc->name, name))
return persistent_ram_buffer_map(start,
desc->size, prz);
start += desc->size;
}
}
return -EINVAL;
}
static __init static __init
struct persistent_ram_zone *__persistent_ram_init(struct device *dev, bool ecc) struct persistent_ram_zone *__persistent_ram_init(struct device *dev, bool ecc)
{ {
@ -528,3 +529,4 @@ int __init persistent_ram_early_init(struct persistent_ram *ram)
return 0; return 0;
} }
#endif