Commit fdb4f6e9 authored by Nathan Fontenot's avatar Nathan Fontenot Committed by Michael Ellerman

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: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent ec999072
...@@ -588,36 +588,11 @@ static int dlpar_memory_remove_by_index(u32 drc_index, struct property *prop) ...@@ -588,36 +588,11 @@ static int dlpar_memory_remove_by_index(u32 drc_index, struct property *prop)
#endif /* CONFIG_MEMORY_HOTREMOVE */ #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; unsigned long block_sz;
int nid, rc; 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) if (lmb->flags & DRCONF_MEM_ASSIGNED)
return -EINVAL; return -EINVAL;
...@@ -633,10 +608,18 @@ static int dlpar_add_lmb(struct of_drconf_cell *lmb) ...@@ -633,10 +608,18 @@ static int dlpar_add_lmb(struct of_drconf_cell *lmb)
return rc; 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) { if (rc) {
dlpar_remove_device_tree_lmb(lmb); dlpar_remove_device_tree_lmb(lmb);
dlpar_release_drc(lmb->drc_index); dlpar_release_drc(lmb->drc_index);
} else {
lmb->flags |= DRCONF_MEM_ASSIGNED;
} }
return rc; return rc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment