Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1717531
| From | Alan Tull <atull@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/2] fpga: altera-cvp: register attribute groups using ops |
| Date | 2017-08-22 18:00 +0200 |
| Message-ID | <uhjKW-4r8-31@gated-at.bofh.it> (permalink) |
| References | <uhjKW-4r8-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
---
drivers/fpga/altera-cvp.c | 39 +++++++++++++++++++--------------------
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
index 08629ee..a498022 100644
--- a/drivers/fpga/altera-cvp.c
+++ b/drivers/fpga/altera-cvp.c
@@ -354,20 +354,14 @@ static int altera_cvp_write_complete(struct fpga_manager *mgr,
return ret;
}
-static const struct fpga_manager_ops altera_cvp_ops = {
- .state = altera_cvp_state,
- .write_init = altera_cvp_write_init,
- .write = altera_cvp_write,
- .write_complete = altera_cvp_write_complete,
-};
-
-static ssize_t show_chkcfg(struct device_driver *dev, char *buf)
+static ssize_t show_chkcfg(struct device *dev,
+ struct device_attribute *attr, char *buf)
{
return snprintf(buf, 3, "%d\n", altera_cvp_chkcfg);
}
-static ssize_t store_chkcfg(struct device_driver *drv, const char *buf,
- size_t count)
+static ssize_t store_chkcfg(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count)
{
int ret;
@@ -378,7 +372,21 @@ static ssize_t store_chkcfg(struct device_driver *drv, const char *buf,
return count;
}
-static DRIVER_ATTR(chkcfg, 0600, show_chkcfg, store_chkcfg);
+static DEVICE_ATTR(chkcfg, 0600, show_chkcfg, store_chkcfg);
+
+static struct attribute *altera_cvp_attrs[] = {
+ &dev_attr_chkcfg.attr,
+ NULL,
+};
+ATTRIBUTE_GROUPS(altera_cvp);
+
+static const struct fpga_manager_ops altera_cvp_ops = {
+ .state = altera_cvp_state,
+ .write_init = altera_cvp_write_init,
+ .write = altera_cvp_write,
+ .write_complete = altera_cvp_write_complete,
+ .groups = altera_cvp_groups,
+};
static int altera_cvp_probe(struct pci_dev *pdev,
const struct pci_device_id *dev_id);
@@ -459,14 +467,6 @@ static int altera_cvp_probe(struct pci_dev *pdev,
if (ret)
goto err_unmap;
- ret = driver_create_file(&altera_cvp_driver.driver,
- &driver_attr_chkcfg);
- if (ret) {
- dev_err(&pdev->dev, "Can't create sysfs chkcfg file\n");
- fpga_mgr_unregister(&pdev->dev);
- goto err_unmap;
- }
-
return 0;
err_unmap:
@@ -484,7 +484,6 @@ static void altera_cvp_remove(struct pci_dev *pdev)
struct altera_cvp_conf *conf = mgr->priv;
u16 cmd;
- driver_remove_file(&altera_cvp_driver.driver, &driver_attr_chkcfg);
fpga_mgr_unregister(&pdev->dev);
pci_iounmap(pdev, conf->map);
pci_release_region(pdev, CVP_BAR);
--
2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/2] fpga: add attribute groups Alan Tull <atull@kernel.org> - 2017-08-22 18:00 +0200
[PATCH 2/2] fpga: altera-cvp: register attribute groups using ops Alan Tull <atull@kernel.org> - 2017-08-22 18:00 +0200
Re: [PATCH 2/2] fpga: altera-cvp: register attribute groups using ops Alan Tull <atull@kernel.org> - 2017-08-22 22:30 +0200
Re: [PATCH 2/2] fpga: altera-cvp: register attribute groups using ops Alan Tull <atull@kernel.org> - 2017-08-23 20:00 +0200
[PATCH 1/2] fpga: add attribute groups Alan Tull <atull@kernel.org> - 2017-08-22 18:00 +0200
csiph-web