edac, highbank: Improve and unify naming
authorRobert Richter <robert.richter@linaro.org>
Thu, 10 Oct 2013 15:36:19 +0000 (17:36 +0200)
committerRobert Richter <rric@kernel.org>
Mon, 4 Nov 2013 23:01:07 +0000 (17:01 -0600)
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>
drivers/edac/highbank_l2_edac.c
drivers/edac/highbank_mc_edac.c

index 10d3d298b640c4ceb720e2d5331b26d306cdd1b9..2f193668ebc75b7a75d4eb9ceebaa5f89a1eaba8 100644 (file)
@@ -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,
index 79cb872eef5f7ea697f43c3d6cfba4bca9c2006d..82211915e3b0c451a04e00033b8c7551df590aa0 100644 (file)
@@ -233,9 +233,10 @@ static int highbank_mc_probe(struct platform_device *pdev)
        mci->mtype_cap = MEM_FLAG_DDR3;
        mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED;
        mci->edac_cap = EDAC_FLAG_SECDED;
-       mci->mod_name = dev_name(&pdev->dev);
+       mci->mod_name = pdev->dev.driver->name;
        mci->mod_ver = "1";
-       mci->ctl_name = dev_name(&pdev->dev);
+       mci->ctl_name = id->compatible;
+       mci->dev_name = dev_name(&pdev->dev);
        mci->scrub_mode = SCRUB_SW_SRC;
 
        /* Only a single 4GB DIMM is supported */