summaryrefslogtreecommitdiff
path: root/arch/ppc/syslib/ppc_sys.c
diff options
context:
space:
mode:
authorVitaly Bordug <vbordug@ru.mvista.com>2006-04-25 16:26:33 (GMT)
committerPaul Mackerras <paulus@samba.org>2006-04-28 11:05:16 (GMT)
commita73c87bfe98f4d54c919e920a6efb0a116115722 (patch)
tree71aa6572fff1187133bd70e13e3dddd1a45c5859 /arch/ppc/syslib/ppc_sys.c
parent2833c28aa0d0326780acfa61149a2a02dcb2c9b4 (diff)
downloadlinux-a73c87bfe98f4d54c919e920a6efb0a116115722.tar.xz
[PATCH] ppc32: odd fixes and improvements in ppc_sys
This consists of offsets fix in ..._devices.c, and update of ppc_sys_fixup_mem_resource() function to prevent subsequent fixups Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc/syslib/ppc_sys.c')
-rw-r--r--arch/ppc/syslib/ppc_sys.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c
index 7662c4e..2d48018 100644
--- a/arch/ppc/syslib/ppc_sys.c
+++ b/arch/ppc/syslib/ppc_sys.c
@@ -109,9 +109,11 @@ ppc_sys_fixup_mem_resource(struct platform_device *pdev, phys_addr_t paddr)
int i;
for (i = 0; i < pdev->num_resources; i++) {
struct resource *r = &pdev->resource[i];
- if ((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) {
+ if (((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) &&
+ ((r->flags & PPC_SYS_IORESOURCE_FIXUPPED) != PPC_SYS_IORESOURCE_FIXUPPED)) {
r->start += paddr;
r->end += paddr;
+ r->flags |= PPC_SYS_IORESOURCE_FIXUPPED;
}
}
}