aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/highbank_l2_edac.c
diff options
context:
space:
mode:
authorRobert Richter <robert.richter@linaro.org>2013-10-10 17:36:19 +0200
committerRobert Richter <rric@kernel.org>2013-11-04 17:01:07 -0600
commit41ec0e8da05267120c99bd4f66277939fad81a07 (patch)
tree59645445273286b8affa869ffee8d3ea80b4180b /drivers/edac/highbank_l2_edac.c
parentedac, highbank: Add Calxeda ECX-2000 support (diff)
downloadlinux-dev-41ec0e8da05267120c99bd4f66277939fad81a07.tar.xz
linux-dev-41ec0e8da05267120c99bd4f66277939fad81a07.zip
edac, highbank: Improve and unify naming
Assinging correct names of the 'hb_mc_edac' and 'hb_l2_edac' edac modules for module, controller and device. Reported values for Highbank in dmesg are now: EDAC MC0: Giving out device to module hb_mc_edac controller calxeda,hb-ddr-ctrl: DEV fff00000.memory-controller (INTERRUPT) EDAC DEVICE0: Giving out device to module hb_l2_edac controller calxeda,hb-sregs-l2-ecc: DEV fff3c200.sregs (INTERRUPT) Signed-off-by: Robert Richter <robert.richter@linaro.org> Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Robert Richter <rric@kernel.org>
Diffstat (limited to 'drivers/edac/highbank_l2_edac.c')
-rw-r--r--drivers/edac/highbank_l2_edac.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/edac/highbank_l2_edac.c b/drivers/edac/highbank_l2_edac.c
index 10d3d298b640..2f193668ebc7 100644
--- a/drivers/edac/highbank_l2_edac.c
+++ b/drivers/edac/highbank_l2_edac.c
@@ -50,8 +50,15 @@ static irqreturn_t highbank_l2_err_handler(int irq, void *dev_id)
return IRQ_HANDLED;
}
+static const struct of_device_id hb_l2_err_of_match[] = {
+ { .compatible = "calxeda,hb-sregs-l2-ecc", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, hb_l2_err_of_match);
+
static int highbank_l2_err_probe(struct platform_device *pdev)
{
+ const struct of_device_id *id;
struct edac_device_ctl_info *dci;
struct hb_l2_drvdata *drvdata;
struct resource *r;
@@ -90,7 +97,9 @@ static int highbank_l2_err_probe(struct platform_device *pdev)
goto err;
}
- dci->mod_name = dev_name(&pdev->dev);
+ id = of_match_device(hb_l2_err_of_match, &pdev->dev);
+ dci->mod_name = pdev->dev.driver->name;
+ dci->ctl_name = id ? id->compatible : "unknown";
dci->dev_name = dev_name(&pdev->dev);
if (edac_device_add_device(dci))
@@ -129,12 +138,6 @@ static int highbank_l2_err_remove(struct platform_device *pdev)
return 0;
}
-static const struct of_device_id hb_l2_err_of_match[] = {
- { .compatible = "calxeda,hb-sregs-l2-ecc", },
- {},
-};
-MODULE_DEVICE_TABLE(of, hb_l2_err_of_match);
-
static struct platform_driver highbank_l2_edac_driver = {
.probe = highbank_l2_err_probe,
.remove = highbank_l2_err_remove,