diff options
Diffstat (limited to 'drivers/edac/highbank_l2_edac.c')
-rw-r--r-- | drivers/edac/highbank_l2_edac.c | 17 |
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) | |||
50 | return IRQ_HANDLED; | 50 | return IRQ_HANDLED; |
51 | } | 51 | } |
52 | 52 | ||
53 | static const struct of_device_id hb_l2_err_of_match[] = { | ||
54 | { .compatible = "calxeda,hb-sregs-l2-ecc", }, | ||
55 | {}, | ||
56 | }; | ||
57 | MODULE_DEVICE_TABLE(of, hb_l2_err_of_match); | ||
58 | |||
53 | static int highbank_l2_err_probe(struct platform_device *pdev) | 59 | static int highbank_l2_err_probe(struct platform_device *pdev) |
54 | { | 60 | { |
61 | const struct of_device_id *id; | ||
55 | struct edac_device_ctl_info *dci; | 62 | struct edac_device_ctl_info *dci; |
56 | struct hb_l2_drvdata *drvdata; | 63 | struct hb_l2_drvdata *drvdata; |
57 | struct resource *r; | 64 | struct resource *r; |
@@ -90,7 +97,9 @@ static int highbank_l2_err_probe(struct platform_device *pdev) | |||
90 | goto err; | 97 | goto err; |
91 | } | 98 | } |
92 | 99 | ||
93 | dci->mod_name = dev_name(&pdev->dev); | 100 | id = of_match_device(hb_l2_err_of_match, &pdev->dev); |
101 | dci->mod_name = pdev->dev.driver->name; | ||
102 | dci->ctl_name = id ? id->compatible : "unknown"; | ||
94 | dci->dev_name = dev_name(&pdev->dev); | 103 | dci->dev_name = dev_name(&pdev->dev); |
95 | 104 | ||
96 | if (edac_device_add_device(dci)) | 105 | if (edac_device_add_device(dci)) |
@@ -129,12 +138,6 @@ static int highbank_l2_err_remove(struct platform_device *pdev) | |||
129 | return 0; | 138 | return 0; |
130 | } | 139 | } |
131 | 140 | ||
132 | static const struct of_device_id hb_l2_err_of_match[] = { | ||
133 | { .compatible = "calxeda,hb-sregs-l2-ecc", }, | ||
134 | {}, | ||
135 | }; | ||
136 | MODULE_DEVICE_TABLE(of, hb_l2_err_of_match); | ||
137 | |||
138 | static struct platform_driver highbank_l2_edac_driver = { | 141 | static struct platform_driver highbank_l2_edac_driver = { |
139 | .probe = highbank_l2_err_probe, | 142 | .probe = highbank_l2_err_probe, |
140 | .remove = highbank_l2_err_remove, | 143 | .remove = highbank_l2_err_remove, |