Re: [PATCH v2 0/4] fpga: fpga-mgr: move compat_id from fpga_mgr to dfl

From: Tom Rix
Date: Tue Jul 20 2021 - 15:49:39 EST



On 7/9/21 6:42 AM, trix@xxxxxxxxxx wrote:
From: Tom Rix <trix@xxxxxxxxxx>

A followup to
https://lore.kernel.org/linux-fpga/aa06a7ca-eff3-5c0d-f3b0-f1d9ddb74526@xxxxxxxxxx/
The current storing of compat_id in fpga_manager is dfl specific.
This makes the refactoring of the release()'s complicated because there
is a dfl specific flavor of register().

Keeping the compat_id sysfs abi, each implementation through the new
compat_id_show() fpga_region op can print out whatever value they need
to the sysfs. Currently only dfl does.

Since there are now two ops for fpga_region, give fpga_region its
own ops table. Add a wrapper for get_bridges().

Changes from
v1
Completely written to keep sysfs abi

Moritz and Hao,

Can you comment on v2 ?

The compat_id abi is unchanged, so dfl's opae userspace access will not change.

For ever other board, the nonuse error is the same.

Otherwise, the new region ops is consistent with manger ops.

I can split this first patch out if the refactor of compat_id is contentious .

Tom


Tom Rix (4):
fpga: region: introduce fpga_region_ops
fpga: region: introduce compat_id_show op
fpga: dfl: implement the compat_id_show region op
fpga: remove compat_id from fpga_manager and fpga_region

Documentation/driver-api/fpga/fpga-region.rst | 6 ++-
drivers/fpga/dfl-fme-mgr.c | 23 ++++++-----
drivers/fpga/dfl-fme-pr.c | 2 +-
drivers/fpga/dfl-fme-region.c | 21 +++++++++-
drivers/fpga/dfl.h | 14 +++++++
drivers/fpga/fpga-region.c | 40 ++++++++++---------
drivers/fpga/of-fpga-region.c | 6 ++-
include/linux/fpga/fpga-mgr.h | 13 ------
include/linux/fpga/fpga-region.h | 26 +++++++++---
9 files changed, 99 insertions(+), 52 deletions(-)