@ -35,8 +35,6 @@ struct persistent_ram_buffer {
# define PERSISTENT_RAM_SIG (0x43474244) /* DBGC */
static __initdata LIST_HEAD ( persistent_ram_list ) ;
static inline size_t buffer_size ( struct persistent_ram_zone * prz )
{
return atomic_read ( & prz - > buffer - > size ) ;
@ -462,78 +460,3 @@ err:
kfree ( prz ) ;
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
struct persistent_ram_zone * __persistent_ram_init ( struct device * dev , bool ecc )
{
struct persistent_ram_zone * prz ;
int ret = - ENOMEM ;
prz = kzalloc ( sizeof ( struct persistent_ram_zone ) , GFP_KERNEL ) ;
if ( ! prz ) {
pr_err ( " persistent_ram: failed to allocate persistent ram zone \n " ) ;
goto err ;
}
ret = persistent_ram_buffer_init ( dev_name ( dev ) , prz ) ;
if ( ret ) {
pr_err ( " persistent_ram: failed to initialize buffer \n " ) ;
goto err ;
}
persistent_ram_post_init ( prz , ecc ) ;
return prz ;
err :
kfree ( prz ) ;
return ERR_PTR ( ret ) ;
}
struct persistent_ram_zone * __init
persistent_ram_init_ringbuffer ( struct device * dev , bool ecc )
{
return __persistent_ram_init ( dev , ecc ) ;
}
int __init persistent_ram_early_init ( struct persistent_ram * ram )
{
int ret ;
ret = memblock_reserve ( ram - > start , ram - > size ) ;
if ( ret ) {
pr_err ( " Failed to reserve persistent memory from %08lx-%08lx \n " ,
( long ) ram - > start , ( long ) ( ram - > start + ram - > size - 1 ) ) ;
return ret ;
}
list_add_tail ( & ram - > node , & persistent_ram_list ) ;
pr_info ( " Initialized persistent memory from %08lx-%08lx \n " ,
( long ) ram - > start , ( long ) ( ram - > start + ram - > size - 1 ) ) ;
return 0 ;
}
# endif