... instead of manual device_create_file() and device_remove_file()
calls.

Signed-off-by: Takashi Iwai <[email protected]>
---
 drivers/edac/highbank_mc_edac.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/edac/highbank_mc_edac.c b/drivers/edac/highbank_mc_edac.c
index f784de1dc793..475484718fb2 100644
--- a/drivers/edac/highbank_mc_edac.c
+++ b/drivers/edac/highbank_mc_edac.c
@@ -124,6 +124,13 @@ static ssize_t highbank_mc_inject_ctrl(struct device *dev,
 
 static DEVICE_ATTR(inject_ctrl, S_IWUSR, NULL, highbank_mc_inject_ctrl);
 
+static struct attribute *highbank_dev_attrs[] = {
+       &dev_attr_inject_ctrl.attr,
+       NULL
+};
+
+ATTRIBUTE_GROUPS(highbank_dev);
+
 struct hb_mc_settings {
        int     err_offset;
        int     int_offset;
@@ -231,7 +238,7 @@ static int highbank_mc_probe(struct platform_device *pdev)
        dimm->mtype = MEM_DDR3;
        dimm->edac_mode = EDAC_SECDED;
 
-       res = edac_mc_add_mc(mci);
+       res = edac_mc_add_mc_with_groups(mci, highbank_dev_groups);
        if (res < 0)
                goto err;
 
@@ -243,8 +250,6 @@ static int highbank_mc_probe(struct platform_device *pdev)
                goto err2;
        }
 
-       device_create_file(&mci->dev, &dev_attr_inject_ctrl);
-
        devres_close_group(&pdev->dev, NULL);
        return 0;
 err2:
@@ -259,7 +264,6 @@ static int highbank_mc_remove(struct platform_device *pdev)
 {
        struct mem_ctl_info *mci = platform_get_drvdata(pdev);
 
-       device_remove_file(&mci->dev, &dev_attr_inject_ctrl);
        edac_mc_del_mc(&pdev->dev);
        edac_mc_free(mci);
        return 0;
-- 
2.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to