lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 22 Aug 2017 15:23:04 -0500 From: Alan Tull <atull@...nel.org> To: Moritz Fischer <mdf@...nel.org>, Anatolij Gustschin <agust@...x.de> Cc: Alan Tull <atull@...nel.org>, linux-kernel <linux-kernel@...r.kernel.org>, linux-fpga@...r.kernel.org Subject: Re: [PATCH 2/2] fpga: altera-cvp: register attribute groups using ops On Tue, Aug 22, 2017 at 10:53 AM, Alan Tull <atull@...nel.org> wrote: OK so obviously, this patch doesn't have the necessary header or signoff. Will fix that. Alan > --- > 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 >
Powered by blists - more mailing lists