|
@@ -189,14 +189,6 @@ static int highbank_mc_probe(struct platform_device *pdev)
|
|
|
goto err;
|
|
|
}
|
|
|
|
|
|
- irq = platform_get_irq(pdev, 0);
|
|
|
- res = devm_request_irq(&pdev->dev, irq, highbank_mc_err_handler,
|
|
|
- 0, dev_name(&pdev->dev), mci);
|
|
|
- if (res < 0) {
|
|
|
- dev_err(&pdev->dev, "Unable to request irq %d\n", irq);
|
|
|
- goto err;
|
|
|
- }
|
|
|
-
|
|
|
mci->mtype_cap = MEM_FLAG_DDR3;
|
|
|
mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED;
|
|
|
mci->edac_cap = EDAC_FLAG_SECDED;
|
|
@@ -217,10 +209,20 @@ static int highbank_mc_probe(struct platform_device *pdev)
|
|
|
if (res < 0)
|
|
|
goto err;
|
|
|
|
|
|
+ irq = platform_get_irq(pdev, 0);
|
|
|
+ res = devm_request_irq(&pdev->dev, irq, highbank_mc_err_handler,
|
|
|
+ 0, dev_name(&pdev->dev), mci);
|
|
|
+ if (res < 0) {
|
|
|
+ dev_err(&pdev->dev, "Unable to request irq %d\n", irq);
|
|
|
+ goto err2;
|
|
|
+ }
|
|
|
+
|
|
|
highbank_mc_create_debugfs_nodes(mci);
|
|
|
|
|
|
devres_close_group(&pdev->dev, NULL);
|
|
|
return 0;
|
|
|
+err2:
|
|
|
+ edac_mc_del_mc(&pdev->dev);
|
|
|
err:
|
|
|
devres_release_group(&pdev->dev, NULL);
|
|
|
edac_mc_free(mci);
|