}
static DEVICE_ATTR_RO(id);
-static const struct attribute *port_hdr_attrs[] = {
+static struct attribute *port_hdr_attrs[] = {
&dev_attr_id.attr,
NULL,
};
+ATTRIBUTE_GROUPS(port_hdr);
static int port_hdr_init(struct platform_device *pdev,
struct dfl_feature *feature)
port_reset(pdev);
- return sysfs_create_files(&pdev->dev.kobj, port_hdr_attrs);
+ return device_add_groups(&pdev->dev, port_hdr_groups);
}
static void port_hdr_uinit(struct platform_device *pdev,
{
dev_dbg(&pdev->dev, "PORT HDR UInit.\n");
- sysfs_remove_files(&pdev->dev.kobj, port_hdr_attrs);
+ device_remove_groups(&pdev->dev, port_hdr_groups);
}
static long
}
static DEVICE_ATTR_RO(afu_id);
-static const struct attribute *port_afu_attrs[] = {
+static struct attribute *port_afu_attrs[] = {
&dev_attr_afu_id.attr,
NULL
};
+ATTRIBUTE_GROUPS(port_afu);
static int port_afu_init(struct platform_device *pdev,
struct dfl_feature *feature)
if (ret)
return ret;
- return sysfs_create_files(&pdev->dev.kobj, port_afu_attrs);
+ return device_add_groups(&pdev->dev, port_afu_groups);
}
static void port_afu_uinit(struct platform_device *pdev,
{
dev_dbg(&pdev->dev, "PORT AFU UInit.\n");
- sysfs_remove_files(&pdev->dev.kobj, port_afu_attrs);
+ device_remove_groups(&pdev->dev, port_afu_groups);
}
static const struct dfl_feature_ops port_afu_ops = {
}
static DEVICE_ATTR_RO(bitstream_metadata);
-static const struct attribute *fme_hdr_attrs[] = {
+static struct attribute *fme_hdr_attrs[] = {
&dev_attr_ports_num.attr,
&dev_attr_bitstream_id.attr,
&dev_attr_bitstream_metadata.attr,
NULL,
};
+ATTRIBUTE_GROUPS(fme_hdr);
static int fme_hdr_init(struct platform_device *pdev,
struct dfl_feature *feature)
dev_dbg(&pdev->dev, "FME cap %llx.\n",
(unsigned long long)readq(base + FME_HDR_CAP));
- ret = sysfs_create_files(&pdev->dev.kobj, fme_hdr_attrs);
+ ret = device_add_groups(&pdev->dev, fme_hdr_groups);
if (ret)
return ret;
struct dfl_feature *feature)
{
dev_dbg(&pdev->dev, "FME HDR UInit.\n");
- sysfs_remove_files(&pdev->dev.kobj, fme_hdr_attrs);
+ device_remove_groups(&pdev->dev, fme_hdr_groups);
}
static const struct dfl_feature_ops fme_hdr_ops = {