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