Now that all the card information is available via sysfs, the misc
device is no longer necessary.  Removed it.

Signed-off-by: Jeremy Sowden <jer...@azazel.net>
---
 drivers/staging/kpc2000/kpc2000/core.c | 127 +------------------------
 drivers/staging/kpc2000/kpc2000/pcie.h |   2 -
 2 files changed, 2 insertions(+), 127 deletions(-)

diff --git a/drivers/staging/kpc2000/kpc2000/core.c 
b/drivers/staging/kpc2000/kpc2000/core.c
index 4d6a443d7301..7f257c21e0cc 100644
--- a/drivers/staging/kpc2000/kpc2000/core.c
+++ b/drivers/staging/kpc2000/kpc2000/core.c
@@ -300,111 +300,6 @@ static irqreturn_t kp2000_irq_handler(int irq, void 
*dev_id)
        return IRQ_HANDLED;
 }
 
-static int kp2000_cdev_open(struct inode *inode, struct file *filp)
-{
-       struct kp2000_device *pcard = container_of(filp->private_data, struct 
kp2000_device, miscdev);
-
-       dev_dbg(&pcard->pdev->dev, "kp2000_cdev_open(filp = [%p], pcard = 
[%p])\n", filp, pcard);
-
-       filp->private_data = pcard; /* so other methods can access it */
-
-       return 0;
-}
-
-static int kp2000_cdev_close(struct inode *inode, struct file *filp)
-{
-       struct kp2000_device *pcard = filp->private_data;
-
-       dev_dbg(&pcard->pdev->dev, "kp2000_cdev_close(filp = [%p], pcard = 
[%p])\n", filp, pcard);
-       return 0;
-}
-
-static ssize_t kp2000_cdev_read(struct file *filp, char __user *buf,
-                               size_t count, loff_t *f_pos)
-{
-       struct kp2000_device *pcard = filp->private_data;
-       int cnt = 0;
-       int ret;
-#define BUFF_CNT  1024
-       char buff[BUFF_CNT] = {0}; //NOTE: Increase this so it is at least as 
large as all the scnprintfs.  And don't use unbounded strings. "%s"
-       //NOTE: also, this is a really shitty way to implement the read() call, 
but it will work for any size 'count'.
-
-       if (WARN(NULL == buf, "kp2000_cdev_read: buf is a NULL pointer!\n"))
-               return -EINVAL;
-
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Card ID                 : 
0x%08x\n", pcard->card_id);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Build Version           : 
0x%08x\n", pcard->build_version);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Build Date              : 
0x%08x\n", pcard->build_datestamp);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Build Time              : 
0x%08x\n", pcard->build_timestamp);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Core Table Offset       : 
0x%08x\n", pcard->core_table_offset);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Core Table Length       : 
0x%08x\n", pcard->core_table_length);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "Hardware Revision       : 
0x%08x\n", pcard->hardware_revision);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "SSID                    : 
0x%016llx\n", pcard->ssid);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "DDNA                    : 
0x%016llx\n", pcard->ddna);
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "IRQ Mask                : 
0x%016llx\n", readq(pcard->sysinfo_regs_base + REG_INTERRUPT_MASK));
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "IRQ Active              : 
0x%016llx\n", readq(pcard->sysinfo_regs_base + REG_INTERRUPT_ACTIVE));
-       cnt += scnprintf(buff+cnt, BUFF_CNT-cnt, "CPLD                    : 
0x%016llx\n", readq(pcard->sysinfo_regs_base + REG_CPLD_CONFIG));
-
-       if (*f_pos >= cnt)
-               return 0;
-
-       if (count > cnt)
-               count = cnt;
-
-       ret = copy_to_user(buf, buff + *f_pos, count);
-       if (ret)
-               return -EFAULT;
-       *f_pos += count;
-       return count;
-}
-
-static long kp2000_cdev_ioctl(struct file *filp, unsigned int ioctl_num,
-                             unsigned long ioctl_param)
-{
-       struct kp2000_device *pcard = filp->private_data;
-
-       dev_dbg(&pcard->pdev->dev, "kp2000_cdev_ioctl(filp = [%p], ioctl_num = 
0x%08x, ioctl_param = 0x%016lx) pcard = [%p]\n", filp, ioctl_num, ioctl_param, 
pcard);
-
-       switch (ioctl_num){
-       case KP2000_IOCTL_GET_CPLD_REG:             return 
readq(pcard->sysinfo_regs_base + REG_CPLD_CONFIG);
-       case KP2000_IOCTL_GET_PCIE_ERROR_REG:       return 
readq(pcard->sysinfo_regs_base + REG_PCIE_ERROR_COUNT);
-
-       case KP2000_IOCTL_GET_EVERYTHING: {
-               struct kp2000_regs regs;
-               int ret;
-
-               memset(&regs, 0, sizeof(regs));
-               regs.card_id = pcard->card_id;
-               regs.build_version = pcard->build_version;
-               regs.build_datestamp = pcard->build_datestamp;
-               regs.build_timestamp = pcard->build_timestamp;
-               regs.hw_rev = pcard->hardware_revision;
-               regs.ssid = pcard->ssid;
-               regs.ddna = pcard->ddna;
-               regs.cpld_reg = readq(pcard->sysinfo_regs_base + 
REG_CPLD_CONFIG);
-
-               ret = copy_to_user((void*)ioctl_param, (void*)&regs, 
sizeof(regs));
-               if (ret)
-                       return -EFAULT;
-
-               return sizeof(regs);
-               }
-
-       default:
-               return -ENOTTY;
-       }
-       return -ENOTTY;
-}
-
-static struct file_operations kp2000_fops = {
-       .owner =                THIS_MODULE,
-       .open =                 kp2000_cdev_open,
-       .release =              kp2000_cdev_close,
-       .read =                 kp2000_cdev_read,
-       .llseek =               noop_llseek,
-       .unlocked_ioctl =       kp2000_cdev_ioctl,
-};
-
 static int kp2000_pcie_probe(struct pci_dev *pdev,
                             const struct pci_device_id *id)
 {
@@ -603,26 +498,11 @@ static int kp2000_pcie_probe(struct pci_dev *pdev,
        }
 
        /*
-        * Step 10: Setup misc device
-        */
-       pcard->miscdev.minor = MISC_DYNAMIC_MINOR;
-       pcard->miscdev.fops = &kp2000_fops;
-       pcard->miscdev.parent = &pcard->pdev->dev;
-       pcard->miscdev.name = pcard->name;
-
-       err = misc_register(&pcard->miscdev);
-       if (err) {
-               dev_err(&pcard->pdev->dev,
-                       "kp2000_pcie_probe: misc_register failed: %d\n", err);
-               goto out10;
-       }
-
-       /*
-        * Step 11: Probe cores
+        * Step 10: Probe cores
         */
        err = kp2000_probe_cores(pcard);
        if (err)
-               goto out11;
+               goto out10;
 
        /*
         * Step 12: Enable IRQs in HW
@@ -634,8 +514,6 @@ static int kp2000_pcie_probe(struct pci_dev *pdev,
        mutex_unlock(&pcard->sem);
        return 0;
 
-out11:
-       misc_deregister(&pcard->miscdev);
 out10:
        sysfs_remove_files(&(pdev->dev.kobj), kp_attr_list);
 out9:
@@ -674,7 +552,6 @@ static void kp2000_pcie_remove(struct pci_dev *pdev)
        mutex_lock(&pcard->sem);
        kp2000_remove_cores(pcard);
        mfd_remove_devices(PCARD_TO_DEV(pcard));
-       misc_deregister(&pcard->miscdev);
        sysfs_remove_files(&(pdev->dev.kobj), kp_attr_list);
        free_irq(pcard->pdev->irq, pcard);
        pci_disable_msi(pcard->pdev);
diff --git a/drivers/staging/kpc2000/kpc2000/pcie.h 
b/drivers/staging/kpc2000/kpc2000/pcie.h
index 59db46752961..d3cdb515a75c 100644
--- a/drivers/staging/kpc2000/kpc2000/pcie.h
+++ b/drivers/staging/kpc2000/kpc2000/pcie.h
@@ -2,7 +2,6 @@
 #ifndef KP2000_PCIE_H
 #define KP2000_PCIE_H
 #include <linux/types.h>
-#include <linux/miscdevice.h>
 #include <linux/pci.h>
 #include "../kpc.h"
 #include "dma_common_defs.h"
@@ -50,7 +49,6 @@
 
 struct kp2000_device {
        struct pci_dev          *pdev;
-       struct miscdevice       miscdev;
        char                    name[16];
 
        unsigned int            card_num;
-- 
2.20.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to