[PATCH] ppc64: Remove redundant use of pointers in lmb code

The lmb code is all written to use a pointer to an lmb struct. But it's always
the same lmb struct, called "lmb". So we take the address of lmb, call it
_lmb and then start using _lmb->foo everywhere, which is silly.

This patch removes the _lmb pointers and replaces them with direct references
to the one "lmb" struct. We do the same for some _mem and _rsv pointers which
point to lmb.memory and lmb.reserved respectively.

This patch looks quite busy, but it's basically just:
s/_lmb->/lmb./g
s/_mem->/lmb.memory./g
s/_rsv->/lmb.reserved./g
s/_rsv/&lmb.reserved/g
s/mem->/lmb.memory./g

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Michael Ellerman and committed by
Paul Mackerras
a4a0f970 aefd16b0

+43 -57
+43 -57
arch/ppc64/kernel/lmb.c
··· 28 { 29 #ifdef DEBUG 30 unsigned long i; 31 - struct lmb *_lmb = &lmb; 32 33 udbg_printf("lmb_dump_all:\n"); 34 udbg_printf(" memory.cnt = 0x%lx\n", 35 - _lmb->memory.cnt); 36 udbg_printf(" memory.size = 0x%lx\n", 37 - _lmb->memory.size); 38 - for (i=0; i < _lmb->memory.cnt ;i++) { 39 udbg_printf(" memory.region[0x%x].base = 0x%lx\n", 40 - i, _lmb->memory.region[i].base); 41 udbg_printf(" .physbase = 0x%lx\n", 42 - _lmb->memory.region[i].physbase); 43 udbg_printf(" .size = 0x%lx\n", 44 - _lmb->memory.region[i].size); 45 } 46 47 udbg_printf("\n reserved.cnt = 0x%lx\n", 48 - _lmb->reserved.cnt); 49 udbg_printf(" reserved.size = 0x%lx\n", 50 - _lmb->reserved.size); 51 - for (i=0; i < _lmb->reserved.cnt ;i++) { 52 udbg_printf(" reserved.region[0x%x].base = 0x%lx\n", 53 - i, _lmb->reserved.region[i].base); 54 udbg_printf(" .physbase = 0x%lx\n", 55 - _lmb->reserved.region[i].physbase); 56 udbg_printf(" .size = 0x%lx\n", 57 - _lmb->reserved.region[i].size); 58 } 59 #endif /* DEBUG */ 60 } ··· 107 void __init 108 lmb_init(void) 109 { 110 - struct lmb *_lmb = &lmb; 111 - 112 /* Create a dummy zero size LMB which will get coalesced away later. 113 * This simplifies the lmb_add() code below... 114 */ 115 - _lmb->memory.region[0].base = 0; 116 - _lmb->memory.region[0].size = 0; 117 - _lmb->memory.cnt = 1; 118 119 /* Ditto. */ 120 - _lmb->reserved.region[0].base = 0; 121 - _lmb->reserved.region[0].size = 0; 122 - _lmb->reserved.cnt = 1; 123 } 124 125 /* This routine called with relocation disabled. */ ··· 127 unsigned long i; 128 unsigned long mem_size = 0; 129 unsigned long size_mask = 0; 130 - struct lmb *_lmb = &lmb; 131 #ifdef CONFIG_MSCHUNKS 132 unsigned long physbase = 0; 133 #endif 134 135 - for (i=0; i < _lmb->memory.cnt; i++) { 136 unsigned long lmb_size; 137 138 - lmb_size = _lmb->memory.region[i].size; 139 140 #ifdef CONFIG_MSCHUNKS 141 - _lmb->memory.region[i].physbase = physbase; 142 physbase += lmb_size; 143 #else 144 - _lmb->memory.region[i].physbase = _lmb->memory.region[i].base; 145 #endif 146 mem_size += lmb_size; 147 size_mask |= lmb_size; 148 } 149 150 - _lmb->memory.size = mem_size; 151 } 152 153 /* This routine called with relocation disabled. */ ··· 209 long __init 210 lmb_add(unsigned long base, unsigned long size) 211 { 212 - struct lmb *_lmb = &lmb; 213 - struct lmb_region *_rgn = &(_lmb->memory); 214 215 /* On pSeries LPAR systems, the first LMB is our RMO region. */ 216 if ( base == 0 ) 217 - _lmb->rmo_size = size; 218 219 return lmb_add_region(_rgn, base, size); 220 ··· 222 long __init 223 lmb_reserve(unsigned long base, unsigned long size) 224 { 225 - struct lmb *_lmb = &lmb; 226 - struct lmb_region *_rgn = &(_lmb->reserved); 227 228 return lmb_add_region(_rgn, base, size); 229 } ··· 254 { 255 long i, j; 256 unsigned long base = 0; 257 - struct lmb *_lmb = &lmb; 258 - struct lmb_region *_mem = &(_lmb->memory); 259 - struct lmb_region *_rsv = &(_lmb->reserved); 260 261 - for (i=_mem->cnt-1; i >= 0; i--) { 262 - unsigned long lmbbase = _mem->region[i].base; 263 - unsigned long lmbsize = _mem->region[i].size; 264 265 if ( max_addr == LMB_ALLOC_ANYWHERE ) 266 base = _ALIGN_DOWN(lmbbase+lmbsize-size, align); ··· 267 continue; 268 269 while ( (lmbbase <= base) && 270 - ((j = lmb_overlaps_region(_rsv,base,size)) >= 0) ) { 271 - base = _ALIGN_DOWN(_rsv->region[j].base-size, align); 272 } 273 274 if ( (base != 0) && (lmbbase <= base) ) ··· 278 if ( i < 0 ) 279 return 0; 280 281 - lmb_add_region(_rsv, base, size); 282 283 return base; 284 } ··· 286 unsigned long __init 287 lmb_phys_mem_size(void) 288 { 289 - struct lmb *_lmb = &lmb; 290 #ifdef CONFIG_MSCHUNKS 291 - return _lmb->memory.size; 292 #else 293 - struct lmb_region *_mem = &(_lmb->memory); 294 unsigned long total = 0; 295 int i; 296 297 /* add all physical memory to the bootmem map */ 298 - for (i=0; i < _mem->cnt; i++) 299 - total += _mem->region[i].size; 300 return total; 301 #endif /* CONFIG_MSCHUNKS */ 302 } ··· 302 unsigned long __init 303 lmb_end_of_DRAM(void) 304 { 305 - struct lmb *_lmb = &lmb; 306 - struct lmb_region *_mem = &(_lmb->memory); 307 - int idx = _mem->cnt - 1; 308 309 #ifdef CONFIG_MSCHUNKS 310 - return (_mem->region[idx].physbase + _mem->region[idx].size); 311 #else 312 - return (_mem->region[idx].base + _mem->region[idx].size); 313 #endif /* CONFIG_MSCHUNKS */ 314 315 return 0; ··· 340 { 341 extern unsigned long memory_limit; 342 unsigned long i, limit; 343 - struct lmb_region *mem = &(lmb.memory); 344 345 if (! memory_limit) 346 return; 347 348 limit = memory_limit; 349 - for (i = 0; i < mem->cnt; i++) { 350 - if (limit > mem->region[i].size) { 351 - limit -= mem->region[i].size; 352 continue; 353 } 354 355 - mem->region[i].size = limit; 356 - mem->cnt = i + 1; 357 break; 358 } 359 }
··· 28 { 29 #ifdef DEBUG 30 unsigned long i; 31 32 udbg_printf("lmb_dump_all:\n"); 33 udbg_printf(" memory.cnt = 0x%lx\n", 34 + lmb.memory.cnt); 35 udbg_printf(" memory.size = 0x%lx\n", 36 + lmb.memory.size); 37 + for (i=0; i < lmb.memory.cnt ;i++) { 38 udbg_printf(" memory.region[0x%x].base = 0x%lx\n", 39 + i, lmb.memory.region[i].base); 40 udbg_printf(" .physbase = 0x%lx\n", 41 + lmb.memory.region[i].physbase); 42 udbg_printf(" .size = 0x%lx\n", 43 + lmb.memory.region[i].size); 44 } 45 46 udbg_printf("\n reserved.cnt = 0x%lx\n", 47 + lmb.reserved.cnt); 48 udbg_printf(" reserved.size = 0x%lx\n", 49 + lmb.reserved.size); 50 + for (i=0; i < lmb.reserved.cnt ;i++) { 51 udbg_printf(" reserved.region[0x%x].base = 0x%lx\n", 52 + i, lmb.reserved.region[i].base); 53 udbg_printf(" .physbase = 0x%lx\n", 54 + lmb.reserved.region[i].physbase); 55 udbg_printf(" .size = 0x%lx\n", 56 + lmb.reserved.region[i].size); 57 } 58 #endif /* DEBUG */ 59 } ··· 108 void __init 109 lmb_init(void) 110 { 111 /* Create a dummy zero size LMB which will get coalesced away later. 112 * This simplifies the lmb_add() code below... 113 */ 114 + lmb.memory.region[0].base = 0; 115 + lmb.memory.region[0].size = 0; 116 + lmb.memory.cnt = 1; 117 118 /* Ditto. */ 119 + lmb.reserved.region[0].base = 0; 120 + lmb.reserved.region[0].size = 0; 121 + lmb.reserved.cnt = 1; 122 } 123 124 /* This routine called with relocation disabled. */ ··· 130 unsigned long i; 131 unsigned long mem_size = 0; 132 unsigned long size_mask = 0; 133 #ifdef CONFIG_MSCHUNKS 134 unsigned long physbase = 0; 135 #endif 136 137 + for (i=0; i < lmb.memory.cnt; i++) { 138 unsigned long lmb_size; 139 140 + lmb_size = lmb.memory.region[i].size; 141 142 #ifdef CONFIG_MSCHUNKS 143 + lmb.memory.region[i].physbase = physbase; 144 physbase += lmb_size; 145 #else 146 + lmb.memory.region[i].physbase = lmb.memory.region[i].base; 147 #endif 148 mem_size += lmb_size; 149 size_mask |= lmb_size; 150 } 151 152 + lmb.memory.size = mem_size; 153 } 154 155 /* This routine called with relocation disabled. */ ··· 213 long __init 214 lmb_add(unsigned long base, unsigned long size) 215 { 216 + struct lmb_region *_rgn = &(lmb.memory); 217 218 /* On pSeries LPAR systems, the first LMB is our RMO region. */ 219 if ( base == 0 ) 220 + lmb.rmo_size = size; 221 222 return lmb_add_region(_rgn, base, size); 223 ··· 227 long __init 228 lmb_reserve(unsigned long base, unsigned long size) 229 { 230 + struct lmb_region *_rgn = &(lmb.reserved); 231 232 return lmb_add_region(_rgn, base, size); 233 } ··· 260 { 261 long i, j; 262 unsigned long base = 0; 263 264 + for (i=lmb.memory.cnt-1; i >= 0; i--) { 265 + unsigned long lmbbase = lmb.memory.region[i].base; 266 + unsigned long lmbsize = lmb.memory.region[i].size; 267 268 if ( max_addr == LMB_ALLOC_ANYWHERE ) 269 base = _ALIGN_DOWN(lmbbase+lmbsize-size, align); ··· 276 continue; 277 278 while ( (lmbbase <= base) && 279 + ((j = lmb_overlaps_region(&lmb.reserved,base,size)) >= 0) ) { 280 + base = _ALIGN_DOWN(lmb.reserved.region[j].base-size, align); 281 } 282 283 if ( (base != 0) && (lmbbase <= base) ) ··· 287 if ( i < 0 ) 288 return 0; 289 290 + lmb_add_region(&lmb.reserved, base, size); 291 292 return base; 293 } ··· 295 unsigned long __init 296 lmb_phys_mem_size(void) 297 { 298 #ifdef CONFIG_MSCHUNKS 299 + return lmb.memory.size; 300 #else 301 unsigned long total = 0; 302 int i; 303 304 /* add all physical memory to the bootmem map */ 305 + for (i=0; i < lmb.memory.cnt; i++) 306 + total += lmb.memory.region[i].size; 307 return total; 308 #endif /* CONFIG_MSCHUNKS */ 309 } ··· 313 unsigned long __init 314 lmb_end_of_DRAM(void) 315 { 316 + int idx = lmb.memory.cnt - 1; 317 318 #ifdef CONFIG_MSCHUNKS 319 + return (lmb.memory.region[idx].physbase + lmb.memory.region[idx].size); 320 #else 321 + return (lmb.memory.region[idx].base + lmb.memory.region[idx].size); 322 #endif /* CONFIG_MSCHUNKS */ 323 324 return 0; ··· 353 { 354 extern unsigned long memory_limit; 355 unsigned long i, limit; 356 357 if (! memory_limit) 358 return; 359 360 limit = memory_limit; 361 + for (i = 0; i < lmb.memory.cnt; i++) { 362 + if (limit > lmb.memory.region[i].size) { 363 + limit -= lmb.memory.region[i].size; 364 continue; 365 } 366 367 + lmb.memory.region[i].size = limit; 368 + lmb.memory.cnt = i + 1; 369 break; 370 } 371 }