lkml.org 
[lkml]   [2018]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RESEND PATCH v3 0/4] fpga: don't use drvdata in common code
Date
Setting drvdata is fine for DT based devices which have one manager,
bridge, or region device per platform device. However, PCIe based
devices may have multiple FPGA mgr/bridge/regions under one PCIe
device. Without these changes, PCIe-based solutions have to create an
extra device for each child mgr/bridge/region to hold drvdata.

Also changing the fpga_*_register/unregister functions to take the
corresponding struct as the only parameter wherever they weren't already.

* int fpga_bridge_register(struct fpga_bridge *br)
* int fpga_mgr_register(struct fpga_manager *mgr)
* int fpga_region_register(struct fpga_region *region)

* void fpga_bridge_unregister(struct fpga_bridge *br)
* void fpga_mgr_unregister(struct fpga_manager *mgr)
* int fpga_region_unregister(struct fpga_region *region)

Changes from v2:
* Drop patch 5 which fixed a DT overlay issue. The underlying
issue was fixed in the main DT overlay code.
* Minor code cleanup to make it more obvious that the changes
were not breaking anything
* Added Moritz' ack on patch 1

Alan Tull (4):
fpga: region: don't use drvdata in common fpga code
fpga: manager: don't use drvdata in common fpga code
fpga: bridge: don't use drvdata in common fpga code
fpga: region: change fpga_region_register to have one param

Documentation/fpga/fpga-mgr.txt | 24 +++++++++++++++------
Documentation/fpga/fpga-region.txt | 3 +--
drivers/fpga/altera-cvp.c | 18 ++++++++++++----
drivers/fpga/altera-fpga2sdram.c | 20 +++++++++++++----
drivers/fpga/altera-freeze-bridge.c | 18 +++++++++++++---
drivers/fpga/altera-hps2fpga.c | 16 +++++++++++---
drivers/fpga/altera-pr-ip-core.c | 17 +++++++++++++--
drivers/fpga/altera-ps-spi.c | 18 +++++++++++++---
drivers/fpga/fpga-bridge.c | 43 ++++++++++++++-----------------------
drivers/fpga/fpga-mgr.c | 39 ++++++++++++---------------------
drivers/fpga/fpga-region.c | 9 ++++++--
drivers/fpga/ice40-spi.c | 20 +++++++++++++----
drivers/fpga/of-fpga-region.c | 4 +++-
drivers/fpga/socfpga-a10.c | 16 +++++++++++---
drivers/fpga/socfpga.c | 18 +++++++++++++---
drivers/fpga/ts73xx-fpga.c | 18 +++++++++++++---
drivers/fpga/xilinx-pr-decoupler.c | 15 ++++++++++---
drivers/fpga/xilinx-spi.c | 18 +++++++++++++---
drivers/fpga/zynq-fpga.c | 16 +++++++++++---
include/linux/fpga/fpga-bridge.h | 7 +++---
include/linux/fpga/fpga-mgr.h | 8 +++----
include/linux/fpga/fpga-region.h | 4 +++-
22 files changed, 256 insertions(+), 113 deletions(-)

--
2.14.2

\
 
 \ /
  Last update: 2018-03-27 22:00    [W:0.076 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site