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>
 
        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));
 
 
 };
 
-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);
 
 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;