aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fpga
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fpga')
-rw-r--r--include/linux/fpga/altera-pr-ip-core.h13
-rw-r--r--include/linux/fpga/fpga-bridge.h9
-rw-r--r--include/linux/fpga/fpga-mgr.h23
-rw-r--r--include/linux/fpga/fpga-region.h13
4 files changed, 23 insertions, 35 deletions
diff --git a/include/linux/fpga/altera-pr-ip-core.h b/include/linux/fpga/altera-pr-ip-core.h
index 3810a9033f49..7d4664730d60 100644
--- a/include/linux/fpga/altera-pr-ip-core.h
+++ b/include/linux/fpga/altera-pr-ip-core.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * Driver for Altera Partial Reconfiguration IP Core 3 * Driver for Altera Partial Reconfiguration IP Core
3 * 4 *
@@ -5,18 +6,6 @@
5 * 6 *
6 * Based on socfpga-a10.c Copyright (C) 2015-2016 Altera Corporation 7 * Based on socfpga-a10.c Copyright (C) 2015-2016 Altera Corporation
7 * by Alan Tull <atull@opensource.altera.com> 8 * by Alan Tull <atull@opensource.altera.com>
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms and conditions of the GNU General Public License,
11 * version 2, as published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 * more details.
17 *
18 * You should have received a copy of the GNU General Public License along with
19 * this program. If not, see <http://www.gnu.org/licenses/>.
20 */ 9 */
21 10
22#ifndef _ALT_PR_IP_CORE_H 11#ifndef _ALT_PR_IP_CORE_H
diff --git a/include/linux/fpga/fpga-bridge.h b/include/linux/fpga/fpga-bridge.h
index 3694821a6d2d..ce550fcf6360 100644
--- a/include/linux/fpga/fpga-bridge.h
+++ b/include/linux/fpga/fpga-bridge.h
@@ -62,8 +62,11 @@ int of_fpga_bridge_get_to_list(struct device_node *np,
62 struct fpga_image_info *info, 62 struct fpga_image_info *info,
63 struct list_head *bridge_list); 63 struct list_head *bridge_list);
64 64
65int fpga_bridge_register(struct device *dev, const char *name, 65struct fpga_bridge *fpga_bridge_create(struct device *dev, const char *name,
66 const struct fpga_bridge_ops *br_ops, void *priv); 66 const struct fpga_bridge_ops *br_ops,
67void fpga_bridge_unregister(struct device *dev); 67 void *priv);
68void fpga_bridge_free(struct fpga_bridge *br);
69int fpga_bridge_register(struct fpga_bridge *br);
70void fpga_bridge_unregister(struct fpga_bridge *br);
68 71
69#endif /* _LINUX_FPGA_BRIDGE_H */ 72#endif /* _LINUX_FPGA_BRIDGE_H */
diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h
index 3c6de23aabdf..eec7c2478b0d 100644
--- a/include/linux/fpga/fpga-mgr.h
+++ b/include/linux/fpga/fpga-mgr.h
@@ -1,20 +1,9 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * FPGA Framework 3 * FPGA Framework
3 * 4 *
4 * Copyright (C) 2013-2016 Altera Corporation 5 * Copyright (C) 2013-2016 Altera Corporation
5 * Copyright (C) 2017 Intel Corporation 6 * Copyright (C) 2017 Intel Corporation
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms and conditions of the GNU General Public License,
9 * version 2, as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
15 *
16 * You should have received a copy of the GNU General Public License along with
17 * this program. If not, see <http://www.gnu.org/licenses/>.
18 */ 7 */
19#ifndef _LINUX_FPGA_MGR_H 8#ifndef _LINUX_FPGA_MGR_H
20#define _LINUX_FPGA_MGR_H 9#define _LINUX_FPGA_MGR_H
@@ -170,9 +159,11 @@ struct fpga_manager *fpga_mgr_get(struct device *dev);
170 159
171void fpga_mgr_put(struct fpga_manager *mgr); 160void fpga_mgr_put(struct fpga_manager *mgr);
172 161
173int fpga_mgr_register(struct device *dev, const char *name, 162struct fpga_manager *fpga_mgr_create(struct device *dev, const char *name,
174 const struct fpga_manager_ops *mops, void *priv); 163 const struct fpga_manager_ops *mops,
175 164 void *priv);
176void fpga_mgr_unregister(struct device *dev); 165void fpga_mgr_free(struct fpga_manager *mgr);
166int fpga_mgr_register(struct fpga_manager *mgr);
167void fpga_mgr_unregister(struct fpga_manager *mgr);
177 168
178#endif /*_LINUX_FPGA_MGR_H */ 169#endif /*_LINUX_FPGA_MGR_H */
diff --git a/include/linux/fpga/fpga-region.h b/include/linux/fpga/fpga-region.h
index b6520318ab9c..d7071cddd727 100644
--- a/include/linux/fpga/fpga-region.h
+++ b/include/linux/fpga/fpga-region.h
@@ -1,3 +1,5 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2
1#ifndef _FPGA_REGION_H 3#ifndef _FPGA_REGION_H
2#define _FPGA_REGION_H 4#define _FPGA_REGION_H
3 5
@@ -14,7 +16,6 @@
14 * @info: FPGA image info 16 * @info: FPGA image info
15 * @priv: private data 17 * @priv: private data
16 * @get_bridges: optional function to get bridges to a list 18 * @get_bridges: optional function to get bridges to a list
17 * @groups: optional attribute groups.
18 */ 19 */
19struct fpga_region { 20struct fpga_region {
20 struct device dev; 21 struct device dev;
@@ -24,7 +25,6 @@ struct fpga_region {
24 struct fpga_image_info *info; 25 struct fpga_image_info *info;
25 void *priv; 26 void *priv;
26 int (*get_bridges)(struct fpga_region *region); 27 int (*get_bridges)(struct fpga_region *region);
27 const struct attribute_group **groups;
28}; 28};
29 29
30#define to_fpga_region(d) container_of(d, struct fpga_region, dev) 30#define to_fpga_region(d) container_of(d, struct fpga_region, dev)
@@ -34,7 +34,12 @@ struct fpga_region *fpga_region_class_find(
34 int (*match)(struct device *, const void *)); 34 int (*match)(struct device *, const void *));
35 35
36int fpga_region_program_fpga(struct fpga_region *region); 36int fpga_region_program_fpga(struct fpga_region *region);
37int fpga_region_register(struct device *dev, struct fpga_region *region); 37
38int fpga_region_unregister(struct fpga_region *region); 38struct fpga_region
39*fpga_region_create(struct device *dev, struct fpga_manager *mgr,
40 int (*get_bridges)(struct fpga_region *));
41void fpga_region_free(struct fpga_region *region);
42int fpga_region_register(struct fpga_region *region);
43void fpga_region_unregister(struct fpga_region *region);
39 44
40#endif /* _FPGA_REGION_H */ 45#endif /* _FPGA_REGION_H */