diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-02-04 05:48:56 -0500 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2015-02-23 07:11:40 -0500 |
commit | 917c85b545851535149551b0f970e709fac94622 (patch) | |
tree | 203176e5bd5ce424ee5db4ca644a65e47ebf3b15 /drivers/edac/mpc85xx_edac.c | |
parent | 2eace188f6ba54078db0bc055bb161a99877f2d3 (diff) |
EDAC: mpc85xx: Use static attribute groups for sysfs entries
... instead of manual device_create_file() and device_remove_file()
calls.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Johannes Thumshirn <johannes.thumshirn@men.de>
Link: http://lkml.kernel.org/r/1423046938-18111-7-git-send-email-tiwai@suse.de
Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'drivers/edac/mpc85xx_edac.c')
-rw-r--r-- | drivers/edac/mpc85xx_edac.c | 38 |
1 files changed, 8 insertions, 30 deletions
diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c index 1fa76a588af3..7be979c76081 100644 --- a/drivers/edac/mpc85xx_edac.c +++ b/drivers/edac/mpc85xx_edac.c | |||
@@ -134,29 +134,14 @@ DEVICE_ATTR(inject_data_lo, S_IRUGO | S_IWUSR, | |||
134 | DEVICE_ATTR(inject_ctrl, S_IRUGO | S_IWUSR, | 134 | DEVICE_ATTR(inject_ctrl, S_IRUGO | S_IWUSR, |
135 | mpc85xx_mc_inject_ctrl_show, mpc85xx_mc_inject_ctrl_store); | 135 | mpc85xx_mc_inject_ctrl_show, mpc85xx_mc_inject_ctrl_store); |
136 | 136 | ||
137 | static int mpc85xx_create_sysfs_attributes(struct mem_ctl_info *mci) | 137 | static struct attribute *mpc85xx_dev_attrs[] = { |
138 | { | 138 | &dev_attr_inject_data_hi.attr, |
139 | int rc; | 139 | &dev_attr_inject_data_lo.attr, |
140 | 140 | &dev_attr_inject_ctrl.attr, | |
141 | rc = device_create_file(&mci->dev, &dev_attr_inject_data_hi); | 141 | NULL |
142 | if (rc < 0) | 142 | }; |
143 | return rc; | ||
144 | rc = device_create_file(&mci->dev, &dev_attr_inject_data_lo); | ||
145 | if (rc < 0) | ||
146 | return rc; | ||
147 | rc = device_create_file(&mci->dev, &dev_attr_inject_ctrl); | ||
148 | if (rc < 0) | ||
149 | return rc; | ||
150 | 143 | ||
151 | return 0; | 144 | ATTRIBUTE_GROUPS(mpc85xx_dev); |
152 | } | ||
153 | |||
154 | static void mpc85xx_remove_sysfs_attributes(struct mem_ctl_info *mci) | ||
155 | { | ||
156 | device_remove_file(&mci->dev, &dev_attr_inject_data_hi); | ||
157 | device_remove_file(&mci->dev, &dev_attr_inject_data_lo); | ||
158 | device_remove_file(&mci->dev, &dev_attr_inject_ctrl); | ||
159 | } | ||
160 | 145 | ||
161 | /**************************** PCI Err device ***************************/ | 146 | /**************************** PCI Err device ***************************/ |
162 | #ifdef CONFIG_PCI | 147 | #ifdef CONFIG_PCI |
@@ -1106,13 +1091,7 @@ static int mpc85xx_mc_err_probe(struct platform_device *op) | |||
1106 | /* clear all error bits */ | 1091 | /* clear all error bits */ |
1107 | out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, ~0); | 1092 | out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_DETECT, ~0); |
1108 | 1093 | ||
1109 | if (edac_mc_add_mc(mci)) { | 1094 | if (edac_mc_add_mc_with_groups(mci, mpc85xx_dev_groups)) { |
1110 | edac_dbg(3, "failed edac_mc_add_mc()\n"); | ||
1111 | goto err; | ||
1112 | } | ||
1113 | |||
1114 | if (mpc85xx_create_sysfs_attributes(mci)) { | ||
1115 | edac_mc_del_mc(mci->pdev); | ||
1116 | edac_dbg(3, "failed edac_mc_add_mc()\n"); | 1095 | edac_dbg(3, "failed edac_mc_add_mc()\n"); |
1117 | goto err; | 1096 | goto err; |
1118 | } | 1097 | } |
@@ -1176,7 +1155,6 @@ static int mpc85xx_mc_err_remove(struct platform_device *op) | |||
1176 | orig_ddr_err_disable); | 1155 | orig_ddr_err_disable); |
1177 | out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_SBE, orig_ddr_err_sbe); | 1156 | out_be32(pdata->mc_vbase + MPC85XX_MC_ERR_SBE, orig_ddr_err_sbe); |
1178 | 1157 | ||
1179 | mpc85xx_remove_sysfs_attributes(mci); | ||
1180 | edac_mc_del_mc(&op->dev); | 1158 | edac_mc_del_mc(&op->dev); |
1181 | edac_mc_free(mci); | 1159 | edac_mc_free(mci); |
1182 | return 0; | 1160 | return 0; |