diff options
| author | James Morris <[email protected]> | 2018-06-25 09:20:40 -0700 |
|---|---|---|
| committer | James Morris <[email protected]> | 2018-06-25 09:20:40 -0700 |
| commit | 57b54d74dd5c559bd35f2affaf11d8828aaf5733 (patch) | |
| tree | 025d99f0d6b298fbdbf3ce942ec7868131444090 /drivers/fpga/ts73xx-fpga.c | |
| parent | 65793f3cd93abf4ca1109f78e07c1b7193abdfec (diff) | |
| parent | 7daf201d7fe8334e2d2364d4e8ed3394ec9af819 (diff) | |
Merge tag 'v4.18-rc2' into next-general
Merge to Linux 4.18-rc2 for security subsystem developers.
Diffstat (limited to 'drivers/fpga/ts73xx-fpga.c')
| -rw-r--r-- | drivers/fpga/ts73xx-fpga.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/fpga/ts73xx-fpga.c b/drivers/fpga/ts73xx-fpga.c index f6a96b42e2ca..08efd1895b1b 100644 --- a/drivers/fpga/ts73xx-fpga.c +++ b/drivers/fpga/ts73xx-fpga.c @@ -116,7 +116,9 @@ static int ts73xx_fpga_probe(struct platform_device *pdev) { struct device *kdev = &pdev->dev; struct ts73xx_fpga_priv *priv; + struct fpga_manager *mgr; struct resource *res; + int ret; priv = devm_kzalloc(kdev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -131,13 +133,25 @@ static int ts73xx_fpga_probe(struct platform_device *pdev) return PTR_ERR(priv->io_base); } - return fpga_mgr_register(kdev, "TS-73xx FPGA Manager", - &ts73xx_fpga_ops, priv); + mgr = fpga_mgr_create(kdev, "TS-73xx FPGA Manager", + &ts73xx_fpga_ops, priv); + if (!mgr) + return -ENOMEM; + + platform_set_drvdata(pdev, mgr); + + ret = fpga_mgr_register(mgr); + if (ret) + fpga_mgr_free(mgr); + + return ret; } static int ts73xx_fpga_remove(struct platform_device *pdev) { - fpga_mgr_unregister(&pdev->dev); + struct fpga_manager *mgr = platform_get_drvdata(pdev); + + fpga_mgr_unregister(mgr); return 0; } |