diff options
Diffstat (limited to 'drivers/fpga/altera-pr-ip-core.c')
-rw-r--r-- | drivers/fpga/altera-pr-ip-core.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/fpga/altera-pr-ip-core.c b/drivers/fpga/altera-pr-ip-core.c index 65e0b6a2c031..a7a3bf0b5202 100644 --- a/drivers/fpga/altera-pr-ip-core.c +++ b/drivers/fpga/altera-pr-ip-core.c | |||
@@ -177,7 +177,6 @@ int alt_pr_register(struct device *dev, void __iomem *reg_base) | |||
177 | { | 177 | { |
178 | struct alt_pr_priv *priv; | 178 | struct alt_pr_priv *priv; |
179 | struct fpga_manager *mgr; | 179 | struct fpga_manager *mgr; |
180 | int ret; | ||
181 | u32 val; | 180 | u32 val; |
182 | 181 | ||
183 | priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); | 182 | priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); |
@@ -192,17 +191,13 @@ int alt_pr_register(struct device *dev, void __iomem *reg_base) | |||
192 | (val & ALT_PR_CSR_STATUS_MSK) >> ALT_PR_CSR_STATUS_SFT, | 191 | (val & ALT_PR_CSR_STATUS_MSK) >> ALT_PR_CSR_STATUS_SFT, |
193 | (int)(val & ALT_PR_CSR_PR_START)); | 192 | (int)(val & ALT_PR_CSR_PR_START)); |
194 | 193 | ||
195 | mgr = fpga_mgr_create(dev, dev_name(dev), &alt_pr_ops, priv); | 194 | mgr = devm_fpga_mgr_create(dev, dev_name(dev), &alt_pr_ops, priv); |
196 | if (!mgr) | 195 | if (!mgr) |
197 | return -ENOMEM; | 196 | return -ENOMEM; |
198 | 197 | ||
199 | dev_set_drvdata(dev, mgr); | 198 | dev_set_drvdata(dev, mgr); |
200 | 199 | ||
201 | ret = fpga_mgr_register(mgr); | 200 | return fpga_mgr_register(mgr); |
202 | if (ret) | ||
203 | fpga_mgr_free(mgr); | ||
204 | |||
205 | return ret; | ||
206 | } | 201 | } |
207 | EXPORT_SYMBOL_GPL(alt_pr_register); | 202 | EXPORT_SYMBOL_GPL(alt_pr_register); |
208 | 203 | ||