**
 ** Superdome (in particular, REO) allows only 64-bit CSR accesses.
 */
-#define READ_REG32(addr)        le32_to_cpu(__raw_readl(addr))
-#define READ_REG64(addr)        le64_to_cpu(__raw_readq(addr))
-#define WRITE_REG32(val, addr) __raw_writel(cpu_to_le32(val), addr)
-#define WRITE_REG64(val, addr) __raw_writeq(cpu_to_le64(val), addr)
+#define READ_REG32(addr)       readl(addr)
+#define READ_REG64(addr)       readq(addr)
+#define WRITE_REG32(val, addr) writel((val), (addr))
+#define WRITE_REG64(val, addr) writeq((val), (addr))
 
 #ifdef CONFIG_64BIT
 #define READ_REG(addr)         READ_REG64(addr)
        iov_order = get_order(iova_space_size >> (IOVP_SHIFT - PAGE_SHIFT));
        ioc->pdir_size = (iova_space_size / IOVP_SIZE) * sizeof(u64);
 
-       DBG_INIT("%s() hpa 0x%lx IOV %dMB (%d bits)\n",
+       DBG_INIT("%s() hpa 0x%p IOV %dMB (%d bits)\n",
                __FUNCTION__, ioc->ioc_hpa, iova_space_size >> 20,
                iov_order + PAGE_SHIFT);
 
 
        sba_dev->num_ioc = num_ioc;
        for (i = 0; i < num_ioc; i++) {
-               unsigned long ioc_hpa = sba_dev->ioc[i].ioc_hpa;
+               void __iomem *ioc_hpa = sba_dev->ioc[i].ioc_hpa;
                unsigned int j;
 
                for (j=0; j < sizeof(u64) * ROPES_PER_IOC; j+=sizeof(u64)) {
                         * Improves netperf UDP_STREAM by ~10% for bcm5701.
                         */
                        if (IS_PLUTO(sba_dev->iodc)) {
-                               unsigned long rope_cfg, cfg_val;
+                               void __iomem *rope_cfg;
+                               unsigned long cfg_val;
 
                                rope_cfg = ioc_hpa + IOC_ROPE0_CFG + j;
                                cfg_val = READ_REG(rope_cfg);