summaryrefslogtreecommitdiff
path: root/drivers/uio/uio_cif.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/uio/uio_cif.c')
-rw-r--r--drivers/uio/uio_cif.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/uio/uio_cif.c b/drivers/uio/uio_cif.c
index 22cdf385ab33..4e4b589ddef1 100644
--- a/drivers/uio/uio_cif.c
+++ b/drivers/uio/uio_cif.c
@@ -1,11 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* UIO Hilscher CIF card driver
*
* (C) 2007 Hans J. Koch <hjk@hansjkoch.de>
* Original code (C) 2005 Benedikt Spranger <b.spranger@linutronix.de>
- *
- * Licensed under GPL version 2 only.
- *
*/
#include <linux/device.h>
@@ -45,12 +43,12 @@ static int hilscher_pci_probe(struct pci_dev *dev,
{
struct uio_info *info;
- info = kzalloc(sizeof(struct uio_info), GFP_KERNEL);
+ info = devm_kzalloc(&dev->dev, sizeof(struct uio_info), GFP_KERNEL);
if (!info)
return -ENOMEM;
if (pci_enable_device(dev))
- goto out_free;
+ return -ENODEV;
if (pci_request_regions(dev, "hilscher"))
goto out_disable;
@@ -94,8 +92,6 @@ out_release:
pci_release_regions(dev);
out_disable:
pci_disable_device(dev);
-out_free:
- kfree (info);
return -ENODEV;
}
@@ -106,13 +102,10 @@ static void hilscher_pci_remove(struct pci_dev *dev)
uio_unregister_device(info);
pci_release_regions(dev);
pci_disable_device(dev);
- pci_set_drvdata(dev, NULL);
iounmap(info->mem[0].internal_addr);
-
- kfree (info);
}
-static struct pci_device_id hilscher_pci_ids[] = {
+static const struct pci_device_id hilscher_pci_ids[] = {
{
.vendor = PCI_VENDOR_ID_PLX,
.device = PCI_DEVICE_ID_PLX_9030,
@@ -137,5 +130,6 @@ static struct pci_driver hilscher_pci_driver = {
module_pci_driver(hilscher_pci_driver);
MODULE_DEVICE_TABLE(pci, hilscher_pci_ids);
+MODULE_DESCRIPTION("UIO Hilscher CIF card driver");
MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Hans J. Koch, Benedikt Spranger");