fpga: dfl: use driver core functions, not sysfs ones.
Subsystems (2)
PATCH 1/1 fpga: dfl: use driver core functions, not sysfs ones.
This is a driver, do not call "raw" sysfs functions, instead call driver core ones. Specifically convert the use of sysfs_create_files() and sysfs_remove_files() to use device_add_groups() and device_remove_groups()
Cc Wu Hao <[email protected]>
Cc Alan Tull <[email protected]>
Cc Moritz Fischer <[email protected]>
Signed-off-by Greg Kroah-Hartman <[email protected]>
--- drivers/fpga/dfl-afu-main.c | 14 ++++++++------ drivers/fpga/dfl-fme-main.c | 7 ++++--- 2 files changed, 12 insertions(+), 9 deletions(-)
drivers/fpga/dfl-afu-main.c +8 -6
@@ -141,10 +141,11 @@ id_show(struct device *dev, struct device_attribute *attr, char *buf) }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)
@@ -153,7 +154,7 @@ static int port_hdr_init(struct platform_device *pdev,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,
@@ -161,7 +162,7 @@ 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
@@ -214,10 +215,11 @@ afu_id_show(struct device *dev, struct device_attribute *attr, char *buf) }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)
@@ -234,7 +236,7 @@ static int port_afu_init(struct platform_device *pdev,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,
@@ -242,7 +244,7 @@ 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 = {
drivers/fpga/dfl-fme-main.c +4 -3
@@ -72,12 +72,13 @@ static ssize_t bitstream_metadata_show(struct device *dev, }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)
@@ -89,7 +90,7 @@ static int fme_hdr_init(struct platform_device *pdev,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;
@@ -100,7 +101,7 @@ static void fme_hdr_uinit(struct platform_device *pdev, 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 = {
Signature · 1 line
2.22.0
Quoted 4 lines · Greg Kroah-Hartman
This is a driver, do not call "raw" sysfs functions, instead call driver core ones. Specifically convert the use of
sysfs_create_files()andsysfs_remove_files()to usedevice_add_groups()anddevice_remove_groups()
Hi Greg,
Thanks for this patch. It looks good, and works well in my side.
I will follow the same (replace sysfs_create/remove_* with device_add/remove_group) to rework my patchset too. Thanks.
Hao
Quoted 116 lines
Cc Wu Hao <[email protected]>Cc Alan Tull <[email protected]>Cc Moritz Fischer <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>--- drivers/fpga/dfl-afu-main.c | 14 ++++++++------ drivers/fpga/dfl-fme-main.c | 7 ++++--- 2 files changed, 12 insertions(+), 9 deletions(-)drivers/fpga/dfl-afu-main.c +8
-6@@ -141,10 +141,11 @@ id_show(struct device *dev, struct device_attribute *attr, char *buf) }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)@@ -153,7 +154,7 @@ static int port_hdr_init(struct platform_device *pdev,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,@@ -161,7 +162,7 @@ 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@@ -214,10 +215,11 @@ afu_id_show(struct device *dev, struct device_attribute *attr, char *buf) }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)@@ -234,7 +236,7 @@ static int port_afu_init(struct platform_device *pdev,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,@@ -242,7 +244,7 @@ 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 = {drivers/fpga/dfl-fme-main.c +4
-3@@ -72,12 +72,13 @@ static ssize_t bitstream_metadata_show(struct device *dev, }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)@@ -89,7 +90,7 @@ static int fme_hdr_init(struct platform_device *pdev,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;@@ -100,7 +101,7 @@ static void fme_hdr_uinit(struct platform_device *pdev, 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 = {Signature · 1 line
2.22.0