.call =  GIC_IPI_EXT_INTR_CALLFNC_VPE3
                        }
                };
-#define NIPI (sizeof(ipiirq)/sizeof(ipiirq[0]))
+#define NIPI ARRAY_SIZE(ipiirq)
                fill_ipi_map();
                gic_init(GIC_BASE_ADDR, GIC_ADDRSPACE_SZ, gic_intr_map, ARRAY_SIZE(gic_intr_map), MIPS_GIC_IRQ_BASE);
                if (!gcmp_present) {
 
         * Now we have an asynchronous bus error, speculatively or DMA caused.
         * Need to search all DMA descriptors for the error address.
         */
-       for (i = 0; i < sizeof(hpc3)/sizeof(struct hpc3_stat); ++i) {
+       for (i = 0; i < ARRAY_SIZE(hpc3); ++i) {
                struct hpc3_stat *hp = (struct hpc3_stat *)&hpc3 + i;
                if ((cpu_err_stat & CPU_ERRMASK) &&
                    (cpu_err_addr == hp->ndptr || cpu_err_addr == hp->cbp))
                    (gio_err_addr == hp->ndptr || gio_err_addr == hp->cbp))
                        break;
        }
-       if (i < sizeof(hpc3)/sizeof(struct hpc3_stat)) {
+       if (i < ARRAY_SIZE(hpc3)) {
                struct hpc3_stat *hp = (struct hpc3_stat *)&hpc3 + i;
                printk(KERN_ERR "at DMA addresses: HPC3 @ %08lx:"
                       " ctl %08x, ndp %08x, cbp %08x\n",