mirror of https://gitee.com/openkylin/linux.git
staging: comedi: ni_labpc_isadma: tidy up labpc_init_dma_chan()
DMA support is optional for the labpc driver. The return value from labpc_init_dma_chan() is not even checked by the caller. Change the return type to void and tidy up the function a bit. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4d1c15c08f
commit
9ff24fd577
|
@ -163,28 +163,24 @@ void labpc_handle_dma_status(struct comedi_device *dev)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(labpc_handle_dma_status);
|
||||
|
||||
int labpc_init_dma_chan(struct comedi_device *dev, unsigned int dma_chan)
|
||||
void labpc_init_dma_chan(struct comedi_device *dev, unsigned int dma_chan)
|
||||
{
|
||||
struct labpc_private *devpriv = dev->private;
|
||||
struct labpc_dma_desc *dma = &devpriv->dma_desc;
|
||||
void *dma_buffer;
|
||||
unsigned long dma_flags;
|
||||
int ret;
|
||||
|
||||
if (dma_chan != 1 && dma_chan != 3)
|
||||
return -EINVAL;
|
||||
return;
|
||||
|
||||
dma_buffer = kmalloc(dma_buffer_size, GFP_KERNEL | GFP_DMA);
|
||||
if (!dma_buffer)
|
||||
return -ENOMEM;
|
||||
if (request_dma(dma_chan, dev->board_name))
|
||||
return;
|
||||
|
||||
ret = request_dma(dma_chan, dev->board_name);
|
||||
if (ret) {
|
||||
kfree(dma_buffer);
|
||||
return ret;
|
||||
dma->virt_addr = kmalloc(dma_buffer_size, GFP_KERNEL | GFP_DMA);
|
||||
if (!dma->virt_addr) {
|
||||
free_dma(dma_chan);
|
||||
return;
|
||||
}
|
||||
|
||||
dma->virt_addr = dma_buffer;
|
||||
dma->chan = dma_chan;
|
||||
dma->hw_addr = virt_to_bus(dma->virt_addr);
|
||||
|
||||
|
@ -192,8 +188,6 @@ int labpc_init_dma_chan(struct comedi_device *dev, unsigned int dma_chan)
|
|||
disable_dma(dma->chan);
|
||||
set_dma_mode(dma->chan, DMA_MODE_READ);
|
||||
release_dma_lock(dma_flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(labpc_init_dma_chan);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ static inline bool labpc_have_dma_chan(struct comedi_device *dev)
|
|||
return (bool)devpriv->dma_desc.chan;
|
||||
}
|
||||
|
||||
int labpc_init_dma_chan(struct comedi_device *dev, unsigned int dma_chan);
|
||||
void labpc_init_dma_chan(struct comedi_device *dev, unsigned int dma_chan);
|
||||
void labpc_free_dma_chan(struct comedi_device *dev);
|
||||
void labpc_setup_dma(struct comedi_device *dev, struct comedi_subdevice *s);
|
||||
void labpc_drain_dma(struct comedi_device *dev);
|
||||
|
@ -29,10 +29,9 @@ static inline bool labpc_have_dma_chan(struct comedi_device *dev)
|
|||
return false;
|
||||
}
|
||||
|
||||
static inline int labpc_init_dma_chan(struct comedi_device *dev,
|
||||
static inline void labpc_init_dma_chan(struct comedi_device *dev,
|
||||
unsigned int dma_chan)
|
||||
{
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
static inline void labpc_free_dma_chan(struct comedi_device *dev)
|
||||
|
|
Loading…
Reference in New Issue