diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
commit | abf7dba7c4f77d781f6df50fefb19a64c5dc331f (patch) | |
tree | 38648731b502d5aec508f3b33f6616190e598eb6 /drivers/fpga/socfpga.c | |
parent | 07c4dd3435aa387d3b58f4e941dc516513f14507 (diff) | |
parent | b23220fe054e92f616b82450fae8cd3ab176cc60 (diff) |
Merge tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here is the "big" char and misc driver patches for 4.18-rc1.
It's not a lot of stuff here, but there are some highlights:
- coreboot driver updates
- soundwire driver updates
- android binder updates
- fpga big sync, mostly documentation
- lots of minor driver updates
All of these have been in linux-next for a while with no reported
issues"
* tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
vmw_balloon: fixing double free when batching mode is off
MAINTAINERS: Add driver-api/fpga path
fpga: clarify that unregister functions also free
documentation: fpga: move fpga-region.txt to driver-api
documentation: fpga: add bridge document to driver-api
documentation: fpga: move fpga-mgr.txt to driver-api
Documentation: fpga: move fpga overview to driver-api
fpga: region: kernel-doc fixes
fpga: bridge: kernel-doc fixes
fpga: mgr: kernel-doc fixes
fpga: use SPDX
fpga: region: change api, add fpga_region_create/free
fpga: bridge: change api, don't use drvdata
fpga: manager: change api, don't use drvdata
fpga: region: don't use drvdata in common fpga code
Drivers: hv: vmbus: Removed an unnecessary cast from void *
ver_linux: Drop redundant calls to system() to test if file is readable
ver_linux: Move stderr redirection from function parameter to function body
misc: IBM Virtual Management Channel Driver (VMC)
rpmsg: Correct support for MODULE_DEVICE_TABLE()
...
Diffstat (limited to 'drivers/fpga/socfpga.c')
-rw-r--r-- | drivers/fpga/socfpga.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/drivers/fpga/socfpga.c b/drivers/fpga/socfpga.c index b6672e66cda6..959d71f26896 100644 --- a/drivers/fpga/socfpga.c +++ b/drivers/fpga/socfpga.c | |||
@@ -1,19 +1,8 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0 | ||
1 | /* | 2 | /* |
2 | * FPGA Manager Driver for Altera SOCFPGA | 3 | * FPGA Manager Driver for Altera SOCFPGA |
3 | * | 4 | * |
4 | * Copyright (C) 2013-2015 Altera Corporation | 5 | * Copyright (C) 2013-2015 Altera Corporation |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms and conditions of the GNU General Public License, | ||
8 | * version 2, as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
13 | * more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License along with | ||
16 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | */ | 6 | */ |
18 | #include <linux/completion.h> | 7 | #include <linux/completion.h> |
19 | #include <linux/delay.h> | 8 | #include <linux/delay.h> |
@@ -555,6 +544,7 @@ static int socfpga_fpga_probe(struct platform_device *pdev) | |||
555 | { | 544 | { |
556 | struct device *dev = &pdev->dev; | 545 | struct device *dev = &pdev->dev; |
557 | struct socfpga_fpga_priv *priv; | 546 | struct socfpga_fpga_priv *priv; |
547 | struct fpga_manager *mgr; | ||
558 | struct resource *res; | 548 | struct resource *res; |
559 | int ret; | 549 | int ret; |
560 | 550 | ||
@@ -581,13 +571,25 @@ static int socfpga_fpga_probe(struct platform_device *pdev) | |||
581 | if (ret) | 571 | if (ret) |
582 | return ret; | 572 | return ret; |
583 | 573 | ||
584 | return fpga_mgr_register(dev, "Altera SOCFPGA FPGA Manager", | 574 | mgr = fpga_mgr_create(dev, "Altera SOCFPGA FPGA Manager", |
585 | &socfpga_fpga_ops, priv); | 575 | &socfpga_fpga_ops, priv); |
576 | if (!mgr) | ||
577 | return -ENOMEM; | ||
578 | |||
579 | platform_set_drvdata(pdev, mgr); | ||
580 | |||
581 | ret = fpga_mgr_register(mgr); | ||
582 | if (ret) | ||
583 | fpga_mgr_free(mgr); | ||
584 | |||
585 | return ret; | ||
586 | } | 586 | } |
587 | 587 | ||
588 | static int socfpga_fpga_remove(struct platform_device *pdev) | 588 | static int socfpga_fpga_remove(struct platform_device *pdev) |
589 | { | 589 | { |
590 | fpga_mgr_unregister(&pdev->dev); | 590 | struct fpga_manager *mgr = platform_get_drvdata(pdev); |
591 | |||
592 | fpga_mgr_unregister(mgr); | ||
591 | 593 | ||
592 | return 0; | 594 | return 0; |
593 | } | 595 | } |