mbox series

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

Message ID 20210709134229.2510349-1-trix@redhat.com (mailing list archive)
Headers show
Series fpga: fpga-mgr: move compat_id from fpga_mgr to dfl | expand

Message

Tom Rix July 9, 2021, 1:42 p.m. UTC
From: Tom Rix <trix@redhat.com>

A followup to
https://lore.kernel.org/linux-fpga/aa06a7ca-eff3-5c0d-f3b0-f1d9ddb74526@redhat.com/
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

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(-)

Comments

Tom Rix July 20, 2021, 7:47 p.m. UTC | #1
On 7/9/21 6:42 AM, trix@redhat.com wrote:
> From: Tom Rix <trix@redhat.com>
>
> A followup to
> https://lore.kernel.org/linux-fpga/aa06a7ca-eff3-5c0d-f3b0-f1d9ddb74526@redhat.com/
> 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(-)
>