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/altera-hps2fpga.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/altera-hps2fpga.c')
-rw-r--r-- | drivers/fpga/altera-hps2fpga.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/drivers/fpga/altera-hps2fpga.c b/drivers/fpga/altera-hps2fpga.c index 406d2f10741f..a974d3f60321 100644 --- a/drivers/fpga/altera-hps2fpga.c +++ b/drivers/fpga/altera-hps2fpga.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0 | ||
1 | /* | 2 | /* |
2 | * FPGA to/from HPS Bridge Driver for Altera SoCFPGA Devices | 3 | * FPGA to/from HPS Bridge Driver for Altera SoCFPGA Devices |
3 | * | 4 | * |
@@ -6,18 +7,6 @@ | |||
6 | * Includes this patch from the mailing list: | 7 | * Includes this patch from the mailing list: |
7 | * fpga: altera-hps2fpga: fix HPS2FPGA bridge visibility to L3 masters | 8 | * fpga: altera-hps2fpga: fix HPS2FPGA bridge visibility to L3 masters |
8 | * Signed-off-by: Anatolij Gustschin <agust@denx.de> | 9 | * Signed-off-by: Anatolij Gustschin <agust@denx.de> |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms and conditions of the GNU General Public License, | ||
12 | * version 2, as published by the Free Software Foundation. | ||
13 | * | ||
14 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
15 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
16 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
17 | * more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License along with | ||
20 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
21 | */ | 10 | */ |
22 | 11 | ||
23 | /* | 12 | /* |
@@ -139,6 +128,7 @@ static int alt_fpga_bridge_probe(struct platform_device *pdev) | |||
139 | struct device *dev = &pdev->dev; | 128 | struct device *dev = &pdev->dev; |
140 | struct altera_hps2fpga_data *priv; | 129 | struct altera_hps2fpga_data *priv; |
141 | const struct of_device_id *of_id; | 130 | const struct of_device_id *of_id; |
131 | struct fpga_bridge *br; | ||
142 | u32 enable; | 132 | u32 enable; |
143 | int ret; | 133 | int ret; |
144 | 134 | ||
@@ -190,11 +180,24 @@ static int alt_fpga_bridge_probe(struct platform_device *pdev) | |||
190 | } | 180 | } |
191 | } | 181 | } |
192 | 182 | ||
193 | ret = fpga_bridge_register(dev, priv->name, &altera_hps2fpga_br_ops, | 183 | br = fpga_bridge_create(dev, priv->name, &altera_hps2fpga_br_ops, priv); |
194 | priv); | 184 | if (!br) { |
195 | err: | 185 | ret = -ENOMEM; |
186 | goto err; | ||
187 | } | ||
188 | |||
189 | platform_set_drvdata(pdev, br); | ||
190 | |||
191 | ret = fpga_bridge_register(br); | ||
196 | if (ret) | 192 | if (ret) |
197 | clk_disable_unprepare(priv->clk); | 193 | goto err_free; |
194 | |||
195 | return 0; | ||
196 | |||
197 | err_free: | ||
198 | fpga_bridge_free(br); | ||
199 | err: | ||
200 | clk_disable_unprepare(priv->clk); | ||
198 | 201 | ||
199 | return ret; | 202 | return ret; |
200 | } | 203 | } |
@@ -204,7 +207,7 @@ static int alt_fpga_bridge_remove(struct platform_device *pdev) | |||
204 | struct fpga_bridge *bridge = platform_get_drvdata(pdev); | 207 | struct fpga_bridge *bridge = platform_get_drvdata(pdev); |
205 | struct altera_hps2fpga_data *priv = bridge->priv; | 208 | struct altera_hps2fpga_data *priv = bridge->priv; |
206 | 209 | ||
207 | fpga_bridge_unregister(&pdev->dev); | 210 | fpga_bridge_unregister(bridge); |
208 | 211 | ||
209 | clk_disable_unprepare(priv->clk); | 212 | clk_disable_unprepare(priv->clk); |
210 | 213 | ||