aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH Hartley Sweeten <hartleys@visionengravers.com>2012-09-24 16:22:10 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-26 12:37:30 -0400
commitf574af6d268240a68f99fac9f2f42ce38b26eae9 (patch)
tree3c3e390f923aeb98d743f90d0bd3ff202d6afb46
parent91e674e83c530d5902e482ede1af0115989c4fe6 (diff)
staging: comedi: s626: store the pci_dev in the comedi_device
Use the hw_dev pointer in the comedi_device struct to hold the pci_dev instead of carrying it in the private data. 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>
-rw-r--r--drivers/staging/comedi/drivers/s626.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c
index eff7e962b9b5..e30833f4178c 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -79,7 +79,6 @@ INSN_CONFIG instructions:
79#define PCI_SUBDEVICE_ID_S626 0x0272 79#define PCI_SUBDEVICE_ID_S626 0x0272
80 80
81struct s626_private { 81struct s626_private {
82 struct pci_dev *pdev;
83 void __iomem *base_addr; 82 void __iomem *base_addr;
84 int got_regions; 83 int got_regions;
85 short allocatedBuf; 84 short allocatedBuf;
@@ -1882,6 +1881,7 @@ static void WriteMISC2(struct comedi_device *dev, uint16_t NewImage)
1882static void CloseDMAB(struct comedi_device *dev, struct bufferDMA *pdma, 1881static void CloseDMAB(struct comedi_device *dev, struct bufferDMA *pdma,
1883 size_t bsize) 1882 size_t bsize)
1884{ 1883{
1884 struct pci_dev *pcidev = comedi_to_pci_dev(dev);
1885 void *vbptr; 1885 void *vbptr;
1886 dma_addr_t vpptr; 1886 dma_addr_t vpptr;
1887 1887
@@ -1892,7 +1892,7 @@ static void CloseDMAB(struct comedi_device *dev, struct bufferDMA *pdma,
1892 vbptr = pdma->LogicalBase; 1892 vbptr = pdma->LogicalBase;
1893 vpptr = pdma->PhysicalBase; 1893 vpptr = pdma->PhysicalBase;
1894 if (vbptr) { 1894 if (vbptr) {
1895 pci_free_consistent(devpriv->pdev, bsize, vbptr, vpptr); 1895 pci_free_consistent(pcidev, bsize, vbptr, vpptr);
1896 pdma->LogicalBase = NULL; 1896 pdma->LogicalBase = NULL;
1897 pdma->PhysicalBase = 0; 1897 pdma->PhysicalBase = 0;
1898 } 1898 }
@@ -2452,19 +2452,19 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
2452 dma_addr_t appdma; 2452 dma_addr_t appdma;
2453 struct comedi_subdevice *s; 2453 struct comedi_subdevice *s;
2454 2454
2455 comedi_set_hw_dev(dev, &pcidev->dev);
2456
2455 if (alloc_private(dev, sizeof(struct s626_private)) < 0) 2457 if (alloc_private(dev, sizeof(struct s626_private)) < 0)
2456 return -ENOMEM; 2458 return -ENOMEM;
2457 2459
2458 devpriv->pdev = pcidev; 2460 result = comedi_pci_enable(pcidev, "s626");
2459
2460 result = comedi_pci_enable(devpriv->pdev, "s626");
2461 if (result < 0) { 2461 if (result < 0) {
2462 printk(KERN_ERR "s626_attach: comedi_pci_enable fails\n"); 2462 printk(KERN_ERR "s626_attach: comedi_pci_enable fails\n");
2463 return -ENODEV; 2463 return -ENODEV;
2464 } 2464 }
2465 devpriv->got_regions = 1; 2465 devpriv->got_regions = 1;
2466 2466
2467 resourceStart = pci_resource_start(devpriv->pdev, 0); 2467 resourceStart = pci_resource_start(pcidev, 0);
2468 2468
2469 devpriv->base_addr = ioremap(resourceStart, SIZEOF_ADDRESS_SPACE); 2469 devpriv->base_addr = ioremap(resourceStart, SIZEOF_ADDRESS_SPACE);
2470 if (devpriv->base_addr == NULL) { 2470 if (devpriv->base_addr == NULL) {
@@ -2485,7 +2485,7 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
2485 devpriv->allocatedBuf = 0; 2485 devpriv->allocatedBuf = 0;
2486 2486
2487 devpriv->ANABuf.LogicalBase = 2487 devpriv->ANABuf.LogicalBase =
2488 pci_alloc_consistent(devpriv->pdev, DMABUF_SIZE, &appdma); 2488 pci_alloc_consistent(pcidev, DMABUF_SIZE, &appdma);
2489 2489
2490 if (devpriv->ANABuf.LogicalBase == NULL) { 2490 if (devpriv->ANABuf.LogicalBase == NULL) {
2491 printk(KERN_ERR "s626_attach: DMA Memory mapping error\n"); 2491 printk(KERN_ERR "s626_attach: DMA Memory mapping error\n");
@@ -2497,7 +2497,7 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
2497 devpriv->allocatedBuf++; 2497 devpriv->allocatedBuf++;
2498 2498
2499 devpriv->RPSBuf.LogicalBase = 2499 devpriv->RPSBuf.LogicalBase =
2500 pci_alloc_consistent(devpriv->pdev, DMABUF_SIZE, &appdma); 2500 pci_alloc_consistent(pcidev, DMABUF_SIZE, &appdma);
2501 2501
2502 if (devpriv->RPSBuf.LogicalBase == NULL) { 2502 if (devpriv->RPSBuf.LogicalBase == NULL) {
2503 printk(KERN_ERR "s626_attach: DMA Memory mapping error\n"); 2503 printk(KERN_ERR "s626_attach: DMA Memory mapping error\n");
@@ -2517,7 +2517,7 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
2517 return ret; 2517 return ret;
2518 2518
2519 dev->iobase = (unsigned long)devpriv->base_addr; 2519 dev->iobase = (unsigned long)devpriv->base_addr;
2520 dev->irq = devpriv->pdev->irq; 2520 dev->irq = pcidev->irq;
2521 2521
2522 /* set up interrupt handler */ 2522 /* set up interrupt handler */
2523 if (dev->irq == 0) { 2523 if (dev->irq == 0) {
@@ -2869,6 +2869,8 @@ static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
2869 2869
2870static void s626_detach(struct comedi_device *dev) 2870static void s626_detach(struct comedi_device *dev)
2871{ 2871{
2872 struct pci_dev *pcidev = comedi_to_pci_dev(dev);
2873
2872 if (devpriv) { 2874 if (devpriv) {
2873 /* stop ai_command */ 2875 /* stop ai_command */
2874 devpriv->ai_cmd_running = 0; 2876 devpriv->ai_cmd_running = 0;
@@ -2893,10 +2895,10 @@ static void s626_detach(struct comedi_device *dev)
2893 free_irq(dev->irq, dev); 2895 free_irq(dev->irq, dev);
2894 if (devpriv->base_addr) 2896 if (devpriv->base_addr)
2895 iounmap(devpriv->base_addr); 2897 iounmap(devpriv->base_addr);
2896 if (devpriv->pdev) { 2898 }
2897 if (devpriv->got_regions) 2899 if (pcidev) {
2898 comedi_pci_disable(devpriv->pdev); 2900 if (devpriv->got_regions)
2899 } 2901 comedi_pci_disable(pcidev);
2900 } 2902 }
2901} 2903}
2902 2904