[PATCH v4 0/4] Modularization of DFL private feature drivers

From: Xu Yilun
Date: Sun Aug 09 2020 - 22:44:58 EST


This patchset makes it possible to develop independent driver modules
for DFL private features. It also helps to leverage existing kernel
drivers to enable some IP blocks in DFL.

Patch #1: An improvement of feature id definition. The feature id will be
used as the key field for dfl device/driver matching.
Patch #2: Release the dfl mmio regions after enumeration, so that private
feature drivers could request mmio region in their own drivers.
Patch #3: Introduce the dfl bus, then dfl devices could be supported by
independent dfl drivers.
Patch #4: An example of the dfl driver for N3000 nios private feature.


Main changes from v1:
- Add the new Patch #1, to improve the feature id definition.
- Change the dfl bus uevent format.
- Change the dfl device's sysfs name format.
- refactor dfl_dev_add()
- Add the Patch #4 as an example of the dfl driver.
- A lot of minor fixes for comments from Hao and Tom.

Main changes from v2:
- Add the doc for dfl-n3000-nios driver.
- Minor fixes for comments from Tom.

Main changes from v3:
- improve the dfl devices' uevent format, 4 bits for type & 12 bits for id
- change dfl_device->type to u8
- A dedicate field in struct dfl_feature for dfl device instance.
- error out if dfl_device already exist on dfl_devs_init().
- Move the err log in regmap implementation, and delete
n3000_nios_writel/readl(), they have nothing to wrapper now.
- Minor fixes and comments improvement.

Xu Yilun (4):
fpga: dfl: change data type of feature id to u16
fpga: dfl: map feature mmio resources in their own feature drivers
fpga: dfl: create a dfl bus type to support DFL devices
fpga: dfl: add support for N3000 Nios private feature

Documentation/ABI/testing/sysfs-bus-dfl | 15 +
.../ABI/testing/sysfs-bus-dfl-devices-n3000-nios | 18 +
Documentation/fpga/dfl-n3000-nios.rst | 41 ++
Documentation/fpga/index.rst | 1 +
drivers/fpga/Kconfig | 12 +
drivers/fpga/Makefile | 2 +
drivers/fpga/dfl-fme-perf.c | 2 +-
drivers/fpga/dfl-n3000-nios.c | 475 +++++++++++++++++++++
drivers/fpga/dfl-pci.c | 24 +-
drivers/fpga/dfl.c | 473 ++++++++++++++++----
drivers/fpga/dfl.h | 102 ++++-
11 files changed, 1062 insertions(+), 103 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-dfl
create mode 100644 Documentation/ABI/testing/sysfs-bus-dfl-devices-n3000-nios
create mode 100644 Documentation/fpga/dfl-n3000-nios.rst
create mode 100644 drivers/fpga/dfl-n3000-nios.c

--
2.7.4