提交 30a61fff 编写于 作者: J Julia Lawall 提交者: Linus Torvalds

edac: fix resource size calculation

Use the function resource_size, which reduces the chance of introducing
off-by-one errors in calculating the resource size.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
struct resource *res;
@@

- (res->end - res->start) + 1
+ resource_size(res)
// </smpl>
Signed-off-by: NJulia Lawall <julia@diku.dk>
Signed-off-by: NDoug Thompson <dougthompson@xmission.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 b4846251
...@@ -885,14 +885,14 @@ static int __devinit cpc925_probe(struct platform_device *pdev) ...@@ -885,14 +885,14 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdev->name)) { pdev->name)) {
cpc925_printk(KERN_ERR, "Unable to request mem region\n"); cpc925_printk(KERN_ERR, "Unable to request mem region\n");
res = -EBUSY; res = -EBUSY;
goto err1; goto err1;
} }
vbase = devm_ioremap(&pdev->dev, r->start, r->end - r->start + 1); vbase = devm_ioremap(&pdev->dev, r->start, resource_size(r));
if (!vbase) { if (!vbase) {
cpc925_printk(KERN_ERR, "Unable to ioremap device\n"); cpc925_printk(KERN_ERR, "Unable to ioremap device\n");
res = -ENOMEM; res = -ENOMEM;
...@@ -953,7 +953,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev) ...@@ -953,7 +953,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
cpc925_mc_exit(mci); cpc925_mc_exit(mci);
edac_mc_free(mci); edac_mc_free(mci);
err2: err2:
devm_release_mem_region(&pdev->dev, r->start, r->end-r->start+1); devm_release_mem_region(&pdev->dev, r->start, resource_size(r));
err1: err1:
devres_release_group(&pdev->dev, cpc925_probe); devres_release_group(&pdev->dev, cpc925_probe);
out: out:
......
...@@ -90,7 +90,7 @@ static int __init mv64x60_pci_fixup(struct platform_device *pdev) ...@@ -90,7 +90,7 @@ static int __init mv64x60_pci_fixup(struct platform_device *pdev)
return -ENOENT; return -ENOENT;
} }
pci_serr = ioremap(r->start, r->end - r->start + 1); pci_serr = ioremap(r->start, resource_size(r));
if (!pci_serr) if (!pci_serr)
return -ENOMEM; return -ENOMEM;
...@@ -140,7 +140,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev) ...@@ -140,7 +140,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdata->name)) { pdata->name)) {
printk(KERN_ERR "%s: Error while requesting mem region\n", printk(KERN_ERR "%s: Error while requesting mem region\n",
__func__); __func__);
...@@ -150,7 +150,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev) ...@@ -150,7 +150,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
pdata->pci_vbase = devm_ioremap(&pdev->dev, pdata->pci_vbase = devm_ioremap(&pdev->dev,
r->start, r->start,
r->end - r->start + 1); resource_size(r));
if (!pdata->pci_vbase) { if (!pdata->pci_vbase) {
printk(KERN_ERR "%s: Unable to setup PCI err regs\n", __func__); printk(KERN_ERR "%s: Unable to setup PCI err regs\n", __func__);
res = -ENOMEM; res = -ENOMEM;
...@@ -306,7 +306,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev) ...@@ -306,7 +306,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdata->name)) { pdata->name)) {
printk(KERN_ERR "%s: Error while request mem region\n", printk(KERN_ERR "%s: Error while request mem region\n",
__func__); __func__);
...@@ -316,7 +316,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev) ...@@ -316,7 +316,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)
pdata->sram_vbase = devm_ioremap(&pdev->dev, pdata->sram_vbase = devm_ioremap(&pdev->dev,
r->start, r->start,
r->end - r->start + 1); resource_size(r));
if (!pdata->sram_vbase) { if (!pdata->sram_vbase) {
printk(KERN_ERR "%s: Unable to setup SRAM err regs\n", printk(KERN_ERR "%s: Unable to setup SRAM err regs\n",
__func__); __func__);
...@@ -474,7 +474,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev) ...@@ -474,7 +474,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdata->name)) { pdata->name)) {
printk(KERN_ERR "%s: Error while requesting mem region\n", printk(KERN_ERR "%s: Error while requesting mem region\n",
__func__); __func__);
...@@ -484,7 +484,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev) ...@@ -484,7 +484,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
pdata->cpu_vbase[0] = devm_ioremap(&pdev->dev, pdata->cpu_vbase[0] = devm_ioremap(&pdev->dev,
r->start, r->start,
r->end - r->start + 1); resource_size(r));
if (!pdata->cpu_vbase[0]) { if (!pdata->cpu_vbase[0]) {
printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__); printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
res = -ENOMEM; res = -ENOMEM;
...@@ -501,7 +501,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev) ...@@ -501,7 +501,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdata->name)) { pdata->name)) {
printk(KERN_ERR "%s: Error while requesting mem region\n", printk(KERN_ERR "%s: Error while requesting mem region\n",
__func__); __func__);
...@@ -511,7 +511,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev) ...@@ -511,7 +511,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
pdata->cpu_vbase[1] = devm_ioremap(&pdev->dev, pdata->cpu_vbase[1] = devm_ioremap(&pdev->dev,
r->start, r->start,
r->end - r->start + 1); resource_size(r));
if (!pdata->cpu_vbase[1]) { if (!pdata->cpu_vbase[1]) {
printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__); printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
res = -ENOMEM; res = -ENOMEM;
...@@ -726,7 +726,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev) ...@@ -726,7 +726,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
if (!devm_request_mem_region(&pdev->dev, if (!devm_request_mem_region(&pdev->dev,
r->start, r->start,
r->end - r->start + 1, resource_size(r),
pdata->name)) { pdata->name)) {
printk(KERN_ERR "%s: Error while requesting mem region\n", printk(KERN_ERR "%s: Error while requesting mem region\n",
__func__); __func__);
...@@ -736,7 +736,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev) ...@@ -736,7 +736,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
pdata->mc_vbase = devm_ioremap(&pdev->dev, pdata->mc_vbase = devm_ioremap(&pdev->dev,
r->start, r->start,
r->end - r->start + 1); resource_size(r));
if (!pdata->mc_vbase) { if (!pdata->mc_vbase) {
printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__); printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__);
res = -ENOMEM; res = -ENOMEM;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册