aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/fpga/altera-pr-ip-core.c
diff options
context:
space:
mode:
authorAlan Tull <atull@kernel.org>2018-10-15 18:20:01 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-10-16 05:13:50 -0400
commit084181fe8cc7472695b907f0018f4cd00934cb12 (patch)
tree812b6c10de92d91bccfdec2da621abacc2745c4d /drivers/fpga/altera-pr-ip-core.c
parent1c87dc897b8c8ace3aa4480fa29ef6439dabb3ab (diff)
fpga: mgr: add devm_fpga_mgr_create
Add devm_fpga_mgr_create() which is the managed version of fpga_mgr_create(). Change current FPGA manager drivers to use devm_fpga_mgr_create() Signed-off-by: Alan Tull <atull@kernel.org> Suggested-by: Federico Vaga <federico.vaga@cern.ch> Acked-by: Moritz Fischer <mdf@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/fpga/altera-pr-ip-core.c')
-rw-r--r--drivers/fpga/altera-pr-ip-core.c9
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}
207EXPORT_SYMBOL_GPL(alt_pr_register); 202EXPORT_SYMBOL_GPL(alt_pr_register);
208 203