diff options
author | Russ Weight <russell.h.weight@intel.com> | 2021-11-18 17:55:52 -0800 |
---|---|---|
committer | Moritz Fischer <mdf@kernel.org> | 2021-11-28 14:02:13 -0800 |
commit | 0d70af3c2530a70f1b2c197feaa63fbd3548ce34 (patch) | |
tree | 59c77d021df097a8d8fc8129661d2b1533e222d8 /drivers/fpga/xilinx-pr-decoupler.c | |
parent | 4ba0b2c294fe691921271372f7b59e5cc2ce4b0f (diff) | |
download | linux-0d70af3c2530a70f1b2c197feaa63fbd3548ce34.tar.gz linux-0d70af3c2530a70f1b2c197feaa63fbd3548ce34.tar.bz2 linux-0d70af3c2530a70f1b2c197feaa63fbd3548ce34.zip |
fpga: bridge: Use standard dev_release for class driver
The FPGA bridge class driver data structure is being treated as a
managed resource instead of using the standard dev_release call-back
function to release the class data structure. This change removes
the managed resource code and combines the create() and register()
functions into a single register() function.
Signed-off-by: Russ Weight <russell.h.weight@intel.com>
Reviewed-by: Xu Yilun <yilun.xu@intel.com>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Diffstat (limited to 'drivers/fpga/xilinx-pr-decoupler.c')
-rw-r--r-- | drivers/fpga/xilinx-pr-decoupler.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/fpga/xilinx-pr-decoupler.c b/drivers/fpga/xilinx-pr-decoupler.c index e986ed47c4ed..2d9c491f7be9 100644 --- a/drivers/fpga/xilinx-pr-decoupler.c +++ b/drivers/fpga/xilinx-pr-decoupler.c @@ -140,22 +140,17 @@ static int xlnx_pr_decoupler_probe(struct platform_device *pdev) clk_disable(priv->clk); - br = devm_fpga_bridge_create(&pdev->dev, priv->ipconfig->name, - &xlnx_pr_decoupler_br_ops, priv); - if (!br) { - err = -ENOMEM; - goto err_clk; - } - - platform_set_drvdata(pdev, br); - - err = fpga_bridge_register(br); - if (err) { + br = fpga_bridge_register(&pdev->dev, priv->ipconfig->name, + &xlnx_pr_decoupler_br_ops, priv); + if (IS_ERR(br)) { + err = PTR_ERR(br); dev_err(&pdev->dev, "unable to register %s", priv->ipconfig->name); goto err_clk; } + platform_set_drvdata(pdev, br); + return 0; err_clk: |