diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2005-08-03 06:21:23 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-08-28 20:53:35 -0400 |
commit | 38e85dc18036804ada8698951cfad4e6114fec1b (patch) | |
tree | e1c503d81ce23d1ac7d50897bb2b190db09ace5d /arch/ppc64/kernel | |
parent | aed31351941aa990fb0865c186565a589c56d3fe (diff) |
[PATCH] ppc64: Remove PTRRELOC() from msChunks code
The msChunks code was written to work on pSeries, but now it's only used on
iSeries. This means there's no need to do PTRRELOC anymore, so remove it all.
A few places were getting "extern reloc_offset()" from abs_addr.h, move it
into system.h instead.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel')
-rw-r--r-- | arch/ppc64/kernel/LparData.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/ppc64/kernel/LparData.c b/arch/ppc64/kernel/LparData.c index 3b9a2600fec2..0ed77b2f7d5f 100644 --- a/arch/ppc64/kernel/LparData.c +++ b/arch/ppc64/kernel/LparData.c | |||
@@ -229,24 +229,16 @@ struct ItVpdAreas itVpdAreas = { | |||
229 | struct msChunks msChunks; | 229 | struct msChunks msChunks; |
230 | EXPORT_SYMBOL(msChunks); | 230 | EXPORT_SYMBOL(msChunks); |
231 | 231 | ||
232 | /* Depending on whether this is called from iSeries or pSeries setup | ||
233 | * code, the location of the msChunks struct may or may not have | ||
234 | * to be reloc'd, so we force the caller to do that for us by passing | ||
235 | * in a pointer to the structure. | ||
236 | */ | ||
237 | unsigned long | 232 | unsigned long |
238 | msChunks_alloc(unsigned long mem, unsigned long num_chunks, unsigned long chunk_size) | 233 | msChunks_alloc(unsigned long mem, unsigned long num_chunks, unsigned long chunk_size) |
239 | { | 234 | { |
240 | unsigned long offset = reloc_offset(); | ||
241 | struct msChunks *_msChunks = PTRRELOC(&msChunks); | ||
242 | |||
243 | _msChunks->num_chunks = num_chunks; | 235 | _msChunks->num_chunks = num_chunks; |
244 | _msChunks->chunk_size = chunk_size; | 236 | _msChunks->chunk_size = chunk_size; |
245 | _msChunks->chunk_shift = __ilog2(chunk_size); | 237 | _msChunks->chunk_shift = __ilog2(chunk_size); |
246 | _msChunks->chunk_mask = (1UL<<_msChunks->chunk_shift)-1; | 238 | _msChunks->chunk_mask = (1UL<<_msChunks->chunk_shift)-1; |
247 | 239 | ||
248 | mem = _ALIGN(mem, sizeof(msChunks_entry)); | 240 | mem = _ALIGN(mem, sizeof(msChunks_entry)); |
249 | _msChunks->abs = (msChunks_entry *)(mem + offset); | 241 | _msChunks->abs = (msChunks_entry *)mem; |
250 | mem += num_chunks * sizeof(msChunks_entry); | 242 | mem += num_chunks * sizeof(msChunks_entry); |
251 | 243 | ||
252 | return mem; | 244 | return mem; |