mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
fpga: region: add compat_id support
This patch introduces a compat_id pointer member and sysfs interface for each fpga region, similar as compat_id for fpga manager, it allows applications to read the per region compat_id for compatibility checking before other actions on this fpga-region (e.g. PR). Signed-off-by: Wu Hao <hao.wu@intel.com> Acked-by: Alan Tull <atull@kernel.org> Acked-by: Moritz Fischer <mdf@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
99a560bde3
commit
41a8b2c564
3 changed files with 33 additions and 0 deletions
|
@ -158,6 +158,27 @@ err_put_region:
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(fpga_region_program_fpga);
|
||||
|
||||
static ssize_t compat_id_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct fpga_region *region = to_fpga_region(dev);
|
||||
|
||||
if (!region->compat_id)
|
||||
return -ENOENT;
|
||||
|
||||
return sprintf(buf, "%016llx%016llx\n",
|
||||
(unsigned long long)region->compat_id->id_h,
|
||||
(unsigned long long)region->compat_id->id_l);
|
||||
}
|
||||
|
||||
static DEVICE_ATTR_RO(compat_id);
|
||||
|
||||
static struct attribute *fpga_region_attrs[] = {
|
||||
&dev_attr_compat_id.attr,
|
||||
NULL,
|
||||
};
|
||||
ATTRIBUTE_GROUPS(fpga_region);
|
||||
|
||||
/**
|
||||
* fpga_region_create - alloc and init a struct fpga_region
|
||||
* @dev: device parent
|
||||
|
@ -258,6 +279,7 @@ static int __init fpga_region_init(void)
|
|||
if (IS_ERR(fpga_region_class))
|
||||
return PTR_ERR(fpga_region_class);
|
||||
|
||||
fpga_region_class->dev_groups = fpga_region_groups;
|
||||
fpga_region_class->dev_release = fpga_region_dev_release;
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue