powerpc/cell: Fix some u64 vs. long types
authorIngo Molnar <mingo@elte.hu>
Tue, 6 Jan 2009 14:03:44 +0000 (14:03 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 8 Jan 2009 05:25:16 +0000 (16:25 +1100)
in/out_be64() work on u64s.

The first parameter to ppc_md.ioremap is a phys_addr_t.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/cell/interrupt.c
arch/powerpc/platforms/cell/io-workarounds.c
arch/powerpc/platforms/cell/iommu.c

index 2d5bb22d6c092419cd4582bdbdd8f364135db833..28c04dab263350110055b2883a916355c39deba6 100644 (file)
@@ -148,7 +148,7 @@ static unsigned int iic_get_irq(void)
 
        iic = &__get_cpu_var(iic);
        *(unsigned long *) &pending =
-               in_be64((unsigned long __iomem *) &iic->regs->pending_destr);
+               in_be64((u64 __iomem *) &iic->regs->pending_destr);
        if (!(pending.flags & CBE_IIC_IRQ_VALID))
                return NO_IRQ;
        virq = irq_linear_revmap(iic_host, iic_pending_to_hwnum(pending));
index b5f84e8f089990756daa13ca1101a9ccc4db74d6..059cad6c3f694864901ce067d2409fc33ce6d6f8 100644 (file)
@@ -130,14 +130,14 @@ static const struct ppc_pci_io __devinitconst iowa_pci_io = {
 
 };
 
-static void __iomem *iowa_ioremap(unsigned long addr, unsigned long size,
+static void __iomem *iowa_ioremap(phys_addr_t addr, unsigned long size,
                                                unsigned long flags)
 {
        struct iowa_bus *bus;
        void __iomem *res = __ioremap(addr, size, flags);
        int busno;
 
-       bus = iowa_pci_find(0, addr);
+       bus = iowa_pci_find(0, (unsigned long)addr);
        if (bus != NULL) {
                busno = bus - iowa_busses;
                PCI_SET_ADDR_TOKEN(res, busno + 1);
index 86db4dd170a0e42d89e26e0f7d20c7f388bf355d..88d94b59a7cb9ff7b4d4f8f301c1ef7c9739f548 100644 (file)
@@ -150,8 +150,8 @@ static int cbe_nr_iommus;
 static void invalidate_tce_cache(struct cbe_iommu *iommu, unsigned long *pte,
                long n_ptes)
 {
-       unsigned long __iomem *reg;
-       unsigned long val;
+       u64 __iomem *reg;
+       u64 val;
        long n;
 
        reg = iommu->xlate_regs + IOC_IOPT_CacheInvd;