Merge branch 'next-i2c' of git://git.fluff.org/bjdooks/linux
[pandora-kernel.git] / drivers / edac / mpc85xx_edac.c
index 38ab8e2..8af8e86 100644 (file)
@@ -538,15 +538,15 @@ static int __devinit mpc85xx_l2_err_probe(struct platform_device *op)
        /* we only need the error registers */
        r.start += 0xe00;
 
-       if (!devm_request_mem_region(&op->dev, r.start,
-                                    r.end - r.start + 1, pdata->name)) {
+       if (!devm_request_mem_region(&op->dev, r.start, resource_size(&r),
+                                    pdata->name)) {
                printk(KERN_ERR "%s: Error while requesting mem region\n",
                       __func__);
                res = -EBUSY;
                goto err;
        }
 
-       pdata->l2_vbase = devm_ioremap(&op->dev, r.start, r.end - r.start + 1);
+       pdata->l2_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r));
        if (!pdata->l2_vbase) {
                printk(KERN_ERR "%s: Unable to setup L2 err regs\n", __func__);
                res = -ENOMEM;
@@ -854,11 +854,11 @@ static void mpc85xx_mc_check(struct mem_ctl_info *mci)
                mpc85xx_mc_printk(mci, KERN_ERR, "PFN out of range!\n");
 
        if (err_detect & DDR_EDE_SBE)
-               edac_mc_handle_ce(mci, pfn, err_addr & PAGE_MASK,
+               edac_mc_handle_ce(mci, pfn, err_addr & ~PAGE_MASK,
                                  syndrome, row_index, 0, mci->ctl_name);
 
        if (err_detect & DDR_EDE_MBE)
-               edac_mc_handle_ue(mci, pfn, err_addr & PAGE_MASK,
+               edac_mc_handle_ue(mci, pfn, err_addr & ~PAGE_MASK,
                                  row_index, mci->ctl_name);
 
        out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, err_detect);
@@ -987,15 +987,15 @@ static int __devinit mpc85xx_mc_err_probe(struct platform_device *op)
                goto err;
        }
 
-       if (!devm_request_mem_region(&op->dev, r.start,
-                                    r.end - r.start + 1, pdata->name)) {
+       if (!devm_request_mem_region(&op->dev, r.start, resource_size(&r),
+                                    pdata->name)) {
                printk(KERN_ERR "%s: Error while requesting mem region\n",
                       __func__);
                res = -EBUSY;
                goto err;
        }
 
-       pdata->mc_vbase = devm_ioremap(&op->dev, r.start, r.end - r.start + 1);
+       pdata->mc_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r));
        if (!pdata->mc_vbase) {
                printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__);
                res = -ENOMEM;