Message ID | 3d7c5a7e41ccdaba646a79ca651fde44b270a652.1399882085.git.peter.crosthwaite@xilinx.com |
---|---|
State | New |
Headers | show |
Il 12/05/2014 10:13, Peter Crosthwaite ha scritto: > This if else is not needed. The previous call to memory_region_add > (whether _overlap or not) will always set priority and may_overlap > to desired values. And its not possible to get here without having > called memory_region_add_subregion due to the null guard on parent. > So we can just directly call memory_region_add_subregion_common. > > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > memory.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/memory.c b/memory.c > index 3f1df23..1352881 100644 > --- a/memory.c > +++ b/memory.c > @@ -1501,8 +1501,6 @@ void memory_region_set_enabled(MemoryRegion *mr, bool enabled) > void memory_region_set_address(MemoryRegion *mr, hwaddr addr) > { > MemoryRegion *parent = mr->parent; > - int priority = mr->priority; > - bool may_overlap = mr->may_overlap; > > if (addr == mr->addr || !parent) { > mr->addr = addr; > @@ -1512,11 +1510,7 @@ void memory_region_set_address(MemoryRegion *mr, hwaddr addr) > memory_region_transaction_begin(); > memory_region_ref(mr); > memory_region_del_subregion(parent, mr); > - if (may_overlap) { > - memory_region_add_subregion_overlap(parent, addr, mr, priority); > - } else { > - memory_region_add_subregion(parent, addr, mr); > - } > + memory_region_add_subregion_common(parent, addr, mr); > memory_region_unref(mr); > memory_region_transaction_commit(); > } > Thanks, I'll include this in the next memory pull request. Paolo
diff --git a/memory.c b/memory.c index 3f1df23..1352881 100644 --- a/memory.c +++ b/memory.c @@ -1501,8 +1501,6 @@ void memory_region_set_enabled(MemoryRegion *mr, bool enabled) void memory_region_set_address(MemoryRegion *mr, hwaddr addr) { MemoryRegion *parent = mr->parent; - int priority = mr->priority; - bool may_overlap = mr->may_overlap; if (addr == mr->addr || !parent) { mr->addr = addr; @@ -1512,11 +1510,7 @@ void memory_region_set_address(MemoryRegion *mr, hwaddr addr) memory_region_transaction_begin(); memory_region_ref(mr); memory_region_del_subregion(parent, mr); - if (may_overlap) { - memory_region_add_subregion_overlap(parent, addr, mr, priority); - } else { - memory_region_add_subregion(parent, addr, mr); - } + memory_region_add_subregion_common(parent, addr, mr); memory_region_unref(mr); memory_region_transaction_commit(); }
This if else is not needed. The previous call to memory_region_add (whether _overlap or not) will always set priority and may_overlap to desired values. And its not possible to get here without having called memory_region_add_subregion due to the null guard on parent. So we can just directly call memory_region_add_subregion_common. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> --- memory.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)