powerpc/pseries: Remove call to memblock_add()
The call to memblock_add is not needed, this is already done by memory_add(). This patch removes this call which shrinks dlpar_add_lmb_memory() enough that it can be merged into dlpar_add_lmb(). Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
ec99907244
commit
fdb4f6e99f
@ -588,36 +588,11 @@ static int dlpar_memory_remove_by_index(u32 drc_index, struct property *prop)
|
||||
|
||||
#endif /* CONFIG_MEMORY_HOTREMOVE */
|
||||
|
||||
static int dlpar_add_lmb_memory(struct of_drconf_cell *lmb)
|
||||
static int dlpar_add_lmb(struct of_drconf_cell *lmb)
|
||||
{
|
||||
unsigned long block_sz;
|
||||
int nid, rc;
|
||||
|
||||
block_sz = memory_block_size_bytes();
|
||||
|
||||
/* Find the node id for this address */
|
||||
nid = memory_add_physaddr_to_nid(lmb->base_addr);
|
||||
|
||||
/* Add the memory */
|
||||
rc = add_memory(nid, lmb->base_addr, block_sz);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
/* Register this block of memory */
|
||||
rc = memblock_add(lmb->base_addr, block_sz);
|
||||
if (rc) {
|
||||
remove_memory(nid, lmb->base_addr, block_sz);
|
||||
return rc;
|
||||
}
|
||||
|
||||
lmb->flags |= DRCONF_MEM_ASSIGNED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dlpar_add_lmb(struct of_drconf_cell *lmb)
|
||||
{
|
||||
int rc;
|
||||
|
||||
if (lmb->flags & DRCONF_MEM_ASSIGNED)
|
||||
return -EINVAL;
|
||||
|
||||
@ -633,10 +608,18 @@ static int dlpar_add_lmb(struct of_drconf_cell *lmb)
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = dlpar_add_lmb_memory(lmb);
|
||||
block_sz = memory_block_size_bytes();
|
||||
|
||||
/* Find the node id for this address */
|
||||
nid = memory_add_physaddr_to_nid(lmb->base_addr);
|
||||
|
||||
/* Add the memory */
|
||||
rc = add_memory(nid, lmb->base_addr, block_sz);
|
||||
if (rc) {
|
||||
dlpar_remove_device_tree_lmb(lmb);
|
||||
dlpar_release_drc(lmb->drc_index);
|
||||
} else {
|
||||
lmb->flags |= DRCONF_MEM_ASSIGNED;
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
Loading…
Reference in New Issue
Block a user