1
0
Fork 0

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>
hifive-unleashed-5.1
Nathan Fontenot 2016-06-29 12:20:30 -05:00 committed by Michael Ellerman
parent ec99907244
commit fdb4f6e99f
1 changed files with 10 additions and 27 deletions

View File

@ -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;