staging: comedi: cb_pcidas: remove forward declarations 9
PATCH 9/36 staging: comedi: cb_pcidas: remove forward declarations 9
Move the nvram_read function, and its helper, to remove the need for the last of the forward declarations.
Signed-off-by H Hartley Sweeten <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Frank Mori Hess <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
--- drivers/staging/comedi/drivers/cb_pcidas.c | 81 ++++++++++++++---------------- 1 file changed, 39 insertions(+), 42 deletions(-)
drivers/staging/comedi/drivers/cb_pcidas.c +39 -42
@@ -447,9 +447,6 @@ struct cb_pcidas_private {*/ #define devpriv ((struct cb_pcidas_private *)dev->private) -static int nvram_read (struct comedi_device *dev,unsigned int address, -uint8_t *data); -static inline unsigned int cal_enable_bits (struct comedi_device *dev) {return CAL_EN_BIT |CAL_SRC_BITS (devpriv->calibration_source);
@@ -617,6 +614,45 @@ static int cb_pcidas_ao_readback_insn(struct comedi_device *dev,return 1 ; } +static int wait_for_nvram_ready (unsigned long s5933_base_addr) +{ +static const int timeout =1000 ; +unsigned int i; + +for (i =0 ; i < timeout; i++) { +if ((inb (s5933_base_addr + +AMCC_OP_REG_MCSR_NVCMD ) &MCSR_NV_BUSY ) + ==0 ) +return 0 ; +udelay (1 ); + } +return -1 ; +} + +static int nvram_read (struct comedi_device *dev,unsigned int address, +uint8_t *data) +{ +unsigned long iobase = devpriv->s5933_config; + +if (wait_for_nvram_ready (iobase) <0 ) +return -ETIMEDOUT ; + +outb (MCSR_NV_ENABLE |MCSR_NV_LOAD_LOW_ADDR , + iobase +AMCC_OP_REG_MCSR_NVCMD ); +outb (address &0xff , iobase +AMCC_OP_REG_MCSR_NVDATA ); +outb (MCSR_NV_ENABLE |MCSR_NV_LOAD_HIGH_ADDR , + iobase +AMCC_OP_REG_MCSR_NVCMD ); +outb ((address >>8 ) &0xff , iobase +AMCC_OP_REG_MCSR_NVDATA ); +outb (MCSR_NV_ENABLE |MCSR_NV_READ , iobase +AMCC_OP_REG_MCSR_NVCMD ); + +if (wait_for_nvram_ready (iobase) <0 ) +return -ETIMEDOUT ; + + *data =inb (iobase +AMCC_OP_REG_MCSR_NVDATA ); + +return 0 ; +} +static int eeprom_read_insn (struct comedi_device *dev,struct comedi_subdevice *s,struct comedi_insn *insn,unsigned int *data)
@@ -1543,45 +1579,6 @@ static irqreturn_t cb_pcidas_interrupt(int irq, void *d)return IRQ_HANDLED ; } -static int wait_for_nvram_ready (unsigned long s5933_base_addr) -{ -static const int timeout =1000 ; -unsigned int i; - -for (i =0 ; i < timeout; i++) { -if ((inb (s5933_base_addr + -AMCC_OP_REG_MCSR_NVCMD ) &MCSR_NV_BUSY ) - ==0 ) -return 0 ; -udelay (1 ); - } -return -1 ; -} - -static int nvram_read (struct comedi_device *dev,unsigned int address, -uint8_t *data) -{ -unsigned long iobase = devpriv->s5933_config; - -if (wait_for_nvram_ready (iobase) <0 ) -return -ETIMEDOUT ; - -outb (MCSR_NV_ENABLE |MCSR_NV_LOAD_LOW_ADDR , - iobase +AMCC_OP_REG_MCSR_NVCMD ); -outb (address &0xff , iobase +AMCC_OP_REG_MCSR_NVDATA ); -outb (MCSR_NV_ENABLE |MCSR_NV_LOAD_HIGH_ADDR , - iobase +AMCC_OP_REG_MCSR_NVCMD ); -outb ((address >>8 ) &0xff , iobase +AMCC_OP_REG_MCSR_NVDATA ); -outb (MCSR_NV_ENABLE |MCSR_NV_READ , iobase +AMCC_OP_REG_MCSR_NVCMD ); - -if (wait_for_nvram_ready (iobase) <0 ) -return -ETIMEDOUT ; - - *data =inb (iobase +AMCC_OP_REG_MCSR_NVDATA ); - -return 0 ; -} -static int cb_pcidas_attach (struct comedi_device *dev,struct comedi_devconfig *it) {
Signature · 1 line
1.7.11