staging: comedi: s626: cleanup ioremap()
authorH Hartley Sweeten <hartleys@visionengravers.com>
Mon, 24 Sep 2012 20:23:22 +0000 (13:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2012 16:37:30 +0000 (09:37 -0700)
The local variable 'resourceStart' is only used in the ioremap()
to hold the PCI bar 0 base address. Just use the pci_resource_start()
directly in the ioremap().

Also, instead of assuming the resource size for the ioremap, use
pci_resource_len() to get the actual size.

Remove the kernel noise when the ioremap fails and change the error
code from -ENODEV to -ENOMEM.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/s626.c
drivers/staging/comedi/drivers/s626.h

index 12709b0..6f6c808 100644 (file)
@@ -2446,7 +2446,6 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
 /*   unsigned int data[16]; */
        int i;
        int ret;
-       resource_size_t resourceStart;
        dma_addr_t appdma;
        struct comedi_subdevice *s;
 
@@ -2461,13 +2460,10 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
                return ret;
        dev->iobase = 1;        /* detach needs this */
 
-       resourceStart = pci_resource_start(pcidev, 0);
-
-       devpriv->base_addr = ioremap(resourceStart, SIZEOF_ADDRESS_SPACE);
-       if (devpriv->base_addr == NULL) {
-               printk(KERN_ERR "s626_attach: IOREMAP failed\n");
-               return -ENODEV;
-       }
+       devpriv->base_addr = ioremap(pci_resource_start(pcidev, 0),
+                                    pci_resource_len(pcidev, 0));
+       if (!devpriv->base_addr)
+               return -ENOMEM;
 
        if (devpriv->base_addr) {
                /* disable master interrupt */
index 8a8f196..ff4b3a5 100644 (file)
@@ -73,7 +73,6 @@
 #include <linux/slab.h>
 
 #define S626_SIZE 0x0200
-#define SIZEOF_ADDRESS_SPACE           0x0200
 #define DMABUF_SIZE                    4096    /*  4k pages */
 
 #define S626_ADC_CHANNELS       16