staging: comedi: remove inline alloc_private()
[deliverable/linux.git] / drivers / staging / comedi / drivers / ni_labpc.c
index 28b91a6c378908ba2f30b01b88a11d819b3dd9f7..40012506334f77a670f1c7360df7f0ef9e92dfd5 100644 (file)
@@ -487,8 +487,6 @@ static const int dma_buffer_size = 0xff00;
 /* 2 bytes per sample */
 static const int sample_size = 2;
 
-#define devpriv ((struct labpc_private *)dev->private)
-
 static inline int labpc_counter_load(struct comedi_device *dev,
                                     unsigned long base_address,
                                     unsigned int counter_number,
@@ -504,6 +502,7 @@ static inline int labpc_counter_load(struct comedi_device *dev,
 int labpc_common_attach(struct comedi_device *dev, unsigned long iobase,
                        unsigned int irq, unsigned int dma_chan)
 {
+       struct labpc_private *devpriv = dev->private;
        struct comedi_subdevice *s;
        int i;
        unsigned long isr_flags;
@@ -700,15 +699,19 @@ labpc_pci_find_boardinfo(struct pci_dev *pcidev)
 static int __devinit labpc_attach_pci(struct comedi_device *dev,
                                      struct pci_dev *pcidev)
 {
+       struct labpc_private *devpriv;
        unsigned long iobase;
        unsigned int irq;
        int ret;
 
        if (!IS_ENABLED(CONFIG_COMEDI_PCI_DRIVERS))
                return -ENODEV;
-       ret = alloc_private(dev, sizeof(struct labpc_private));
-       if (ret < 0)
-               return ret;
+
+       devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
+       if (!devpriv)
+               return -ENOMEM;
+       dev->private = devpriv;
+
        dev->board_ptr = labpc_pci_find_boardinfo(pcidev);
        if (!dev->board_ptr)
                return -ENODEV;
@@ -725,13 +728,15 @@ static int __devinit labpc_attach_pci(struct comedi_device *dev,
 
 static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 {
+       struct labpc_private *devpriv;
        unsigned long iobase = 0;
        unsigned int irq = 0;
        unsigned int dma_chan = 0;
 
-       /* allocate and initialize dev->private */
-       if (alloc_private(dev, sizeof(struct labpc_private)) < 0)
+       devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
+       if (!devpriv)
                return -ENOMEM;
+       dev->private = devpriv;
 
        /* get base address, irq etc. based on bustype */
        switch (thisboard->bustype) {
@@ -770,6 +775,7 @@ static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 
 void labpc_common_detach(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
        struct comedi_subdevice *s;
 
        if (dev->subdevices) {
@@ -797,6 +803,8 @@ EXPORT_SYMBOL_GPL(labpc_common_detach);
 
 static void labpc_clear_adc_fifo(const struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
+
        devpriv->write_byte(0x1, dev->iobase + ADC_CLEAR_REG);
        devpriv->read_byte(dev->iobase + ADC_FIFO_REG);
        devpriv->read_byte(dev->iobase + ADC_FIFO_REG);
@@ -804,6 +812,7 @@ static void labpc_clear_adc_fifo(const struct comedi_device *dev)
 
 static int labpc_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
 {
+       struct labpc_private *devpriv = dev->private;
        unsigned long flags;
 
        spin_lock_irqsave(&dev->spinlock, flags);
@@ -1096,6 +1105,7 @@ static int labpc_ai_cmdtest(struct comedi_device *dev,
 
 static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 {
+       struct labpc_private *devpriv = dev->private;
        int channel, range, aref;
 #ifdef CONFIG_ISA_DMA_API
        unsigned long irq_flags;
@@ -1363,6 +1373,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 static irqreturn_t labpc_interrupt(int irq, void *d)
 {
        struct comedi_device *dev = d;
+       struct labpc_private *devpriv = dev->private;
        struct comedi_subdevice *s = dev->read_subdev;
        struct comedi_async *async;
        struct comedi_cmd *cmd;
@@ -1451,6 +1462,7 @@ static irqreturn_t labpc_interrupt(int irq, void *d)
 /* read all available samples from ai fifo */
 static int labpc_drain_fifo(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
        unsigned int lsb, msb;
        short data;
        struct comedi_async *async = dev->read_subdev->async;
@@ -1486,6 +1498,7 @@ static int labpc_drain_fifo(struct comedi_device *dev)
 #ifdef CONFIG_ISA_DMA_API
 static void labpc_drain_dma(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
        struct comedi_subdevice *s = dev->read_subdev;
        struct comedi_async *async = s->async;
        int status;
@@ -1539,6 +1552,8 @@ static void labpc_drain_dma(struct comedi_device *dev)
 
 static void handle_isa_dma(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
+
        labpc_drain_dma(dev);
 
        enable_dma(devpriv->dma_chan);
@@ -1553,6 +1568,8 @@ static void handle_isa_dma(struct comedi_device *dev)
 static void labpc_drain_dregs(struct comedi_device *dev)
 {
 #ifdef CONFIG_ISA_DMA_API
+       struct labpc_private *devpriv = dev->private;
+
        if (devpriv->current_transfer == isa_dma_transfer)
                labpc_drain_dma(dev);
 #endif
@@ -1563,6 +1580,7 @@ static void labpc_drain_dregs(struct comedi_device *dev)
 static int labpc_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
                          struct comedi_insn *insn, unsigned int *data)
 {
+       struct labpc_private *devpriv = dev->private;
        int i, n;
        int chan, range;
        int lsb, msb;
@@ -1652,6 +1670,7 @@ static int labpc_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
 static int labpc_ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
                          struct comedi_insn *insn, unsigned int *data)
 {
+       struct labpc_private *devpriv = dev->private;
        int channel, range;
        unsigned long flags;
        int lsb, msb;
@@ -1693,6 +1712,8 @@ static int labpc_ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
 static int labpc_ao_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
                          struct comedi_insn *insn, unsigned int *data)
 {
+       struct labpc_private *devpriv = dev->private;
+
        data[0] = devpriv->ao_value[CR_CHAN(insn->chanspec)];
 
        return 1;
@@ -1702,6 +1723,8 @@ static int labpc_calib_read_insn(struct comedi_device *dev,
                                 struct comedi_subdevice *s,
                                 struct comedi_insn *insn, unsigned int *data)
 {
+       struct labpc_private *devpriv = dev->private;
+
        data[0] = devpriv->caldac[CR_CHAN(insn->chanspec)];
 
        return 1;
@@ -1721,6 +1744,8 @@ static int labpc_eeprom_read_insn(struct comedi_device *dev,
                                  struct comedi_subdevice *s,
                                  struct comedi_insn *insn, unsigned int *data)
 {
+       struct labpc_private *devpriv = dev->private;
+
        data[0] = devpriv->eeprom_data[CR_CHAN(insn->chanspec)];
 
        return 1;
@@ -1777,6 +1802,7 @@ static unsigned int labpc_suggest_transfer_size(const struct comedi_cmd *cmd)
 static void labpc_adc_timing(struct comedi_device *dev, struct comedi_cmd *cmd,
                             enum scan_mode mode)
 {
+       struct labpc_private *devpriv = dev->private;
        /* max value for 16 bit counter in mode 2 */
        const int max_counter_value = 0x10000;
        /* min value for 16 bit counter in mode 2 */
@@ -1883,6 +1909,7 @@ static int labpc_dio_mem_callback(int dir, int port, int data,
 static void labpc_serial_out(struct comedi_device *dev, unsigned int value,
                             unsigned int value_width)
 {
+       struct labpc_private *devpriv = dev->private;
        int i;
 
        for (i = 1; i <= value_width; i++) {
@@ -1907,6 +1934,7 @@ static void labpc_serial_out(struct comedi_device *dev, unsigned int value,
 /* lowlevel read from eeprom */
 static unsigned int labpc_serial_in(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
        unsigned int value = 0;
        int i;
        const int value_width = 8;      /*  number of bits wide values are */
@@ -1936,6 +1964,7 @@ static unsigned int labpc_serial_in(struct comedi_device *dev)
 static unsigned int labpc_eeprom_read(struct comedi_device *dev,
                                      unsigned int address)
 {
+       struct labpc_private *devpriv = dev->private;
        unsigned int value;
        /*  bits to tell eeprom to expect a read */
        const int read_instruction = 0x3;
@@ -1968,6 +1997,7 @@ static unsigned int labpc_eeprom_read(struct comedi_device *dev,
 static int labpc_eeprom_write(struct comedi_device *dev,
                                unsigned int address, unsigned int value)
 {
+       struct labpc_private *devpriv = dev->private;
        const int write_enable_instruction = 0x6;
        const int write_instruction = 0x2;
        const int write_length = 8;     /*  8 bit write lengths to eeprom */
@@ -2025,6 +2055,7 @@ static int labpc_eeprom_write(struct comedi_device *dev,
 
 static unsigned int labpc_eeprom_read_status(struct comedi_device *dev)
 {
+       struct labpc_private *devpriv = dev->private;
        unsigned int value;
        const int read_status_instruction = 0x5;
        const int write_length = 8;     /*  8 bit write lengths to eeprom */
@@ -2054,6 +2085,8 @@ static unsigned int labpc_eeprom_read_status(struct comedi_device *dev)
 static void write_caldac(struct comedi_device *dev, unsigned int channel,
                         unsigned int value)
 {
+       struct labpc_private *devpriv = dev->private;
+
        if (value == devpriv->caldac[channel])
                return;
        devpriv->caldac[channel] = value;
This page took 0.030008 seconds and 5 git commands to generate.