mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 07:04:00 +08:00
staging: comedi: mite: cleanup mite_unsetup()
This function is only called by comedi drivers during the (*detach) of the driver. After it is called mite_free() is always called to kfree the allocated mite_struct pointer. Rename this function to mite_detach() and merge the kfree() from mite_free() into it. Remove the unnecessary clearing of the mite variables since the mite pointer is going to be kfree()'d anyway. The mite_detach() function checks if the pointer is valid so remove the unnecessary checks in the callers. The check can also be removed in ni_660x since the ni_660x_free_mite_rings() function does not actually need the 'mite' pointer. 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
9086689676
commit
b876e985c2
@ -173,25 +173,19 @@ int mite_setup(struct mite_struct *mite)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mite_setup);
|
||||
|
||||
void mite_unsetup(struct mite_struct *mite)
|
||||
void mite_detach(struct mite_struct *mite)
|
||||
{
|
||||
/* unsigned long offset, start, length; */
|
||||
|
||||
if (!mite)
|
||||
return;
|
||||
|
||||
if (mite->mite_io_addr) {
|
||||
if (mite->mite_io_addr)
|
||||
iounmap(mite->mite_io_addr);
|
||||
mite->mite_io_addr = NULL;
|
||||
}
|
||||
if (mite->daq_io_addr) {
|
||||
if (mite->daq_io_addr)
|
||||
iounmap(mite->daq_io_addr);
|
||||
mite->daq_io_addr = NULL;
|
||||
}
|
||||
if (mite->mite_phys_addr)
|
||||
mite->mite_phys_addr = 0;
|
||||
|
||||
kfree(mite);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mite_unsetup);
|
||||
EXPORT_SYMBOL_GPL(mite_detach);
|
||||
|
||||
struct mite_dma_descriptor_ring *mite_alloc_ring(struct mite_struct *mite)
|
||||
{
|
||||
|
@ -65,14 +65,9 @@ struct mite_struct {
|
||||
|
||||
struct mite_struct *mite_alloc(struct pci_dev *pcidev);
|
||||
|
||||
static inline void mite_free(struct mite_struct *mite)
|
||||
{
|
||||
kfree(mite);
|
||||
}
|
||||
|
||||
int mite_setup(struct mite_struct *mite);
|
||||
int mite_setup2(struct mite_struct *mite, unsigned use_iodwbsr_1);
|
||||
void mite_unsetup(struct mite_struct *mite);
|
||||
void mite_detach(struct mite_struct *mite);
|
||||
struct mite_dma_descriptor_ring *mite_alloc_ring(struct mite_struct *mite);
|
||||
void mite_free_ring(struct mite_dma_descriptor_ring *ring);
|
||||
struct mite_channel *mite_request_channel_in_range(struct mite_struct *mite,
|
||||
|
@ -716,12 +716,8 @@ static void ni_65xx_detach(struct comedi_device *dev)
|
||||
}
|
||||
if (dev->irq)
|
||||
free_irq(dev->irq, dev);
|
||||
if (devpriv) {
|
||||
if (devpriv->mite) {
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
}
|
||||
if (devpriv)
|
||||
mite_detach(devpriv->mite);
|
||||
comedi_pci_disable(dev);
|
||||
}
|
||||
|
||||
|
@ -1195,11 +1195,8 @@ static void ni_660x_detach(struct comedi_device *dev)
|
||||
if (devpriv) {
|
||||
if (devpriv->counter_dev)
|
||||
ni_gpct_device_destroy(devpriv->counter_dev);
|
||||
if (devpriv->mite) {
|
||||
ni_660x_free_mite_rings(dev);
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
ni_660x_free_mite_rings(dev);
|
||||
mite_detach(devpriv->mite);
|
||||
}
|
||||
comedi_pci_disable(dev);
|
||||
}
|
||||
|
@ -259,10 +259,8 @@ static void ni_670x_detach(struct comedi_device *dev)
|
||||
if (s)
|
||||
kfree(s->range_table_list);
|
||||
}
|
||||
if (devpriv && devpriv->mite) {
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
if (devpriv)
|
||||
mite_detach(devpriv->mite);
|
||||
comedi_pci_disable(dev);
|
||||
}
|
||||
|
||||
|
@ -91,10 +91,8 @@ static void labpc_pci_detach(struct comedi_device *dev)
|
||||
{
|
||||
struct labpc_private *devpriv = dev->private;
|
||||
|
||||
if (devpriv && devpriv->mite) {
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
if (devpriv)
|
||||
mite_detach(devpriv->mite);
|
||||
if (dev->irq)
|
||||
free_irq(dev->irq, dev);
|
||||
comedi_pci_disable(dev);
|
||||
|
@ -1046,10 +1046,7 @@ static void nidio_detach(struct comedi_device *dev)
|
||||
mite_free_ring(devpriv->di_mite_ring);
|
||||
devpriv->di_mite_ring = NULL;
|
||||
}
|
||||
if (devpriv->mite) {
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
mite_detach(devpriv->mite);
|
||||
}
|
||||
comedi_pci_disable(dev);
|
||||
}
|
||||
|
@ -1189,10 +1189,7 @@ static void pcimio_detach(struct comedi_device *dev)
|
||||
mite_free_ring(devpriv->cdo_mite_ring);
|
||||
mite_free_ring(devpriv->gpct_mite_ring[0]);
|
||||
mite_free_ring(devpriv->gpct_mite_ring[1]);
|
||||
if (devpriv->mite) {
|
||||
mite_unsetup(devpriv->mite);
|
||||
mite_free(devpriv->mite);
|
||||
}
|
||||
mite_detach(devpriv->mite);
|
||||
}
|
||||
comedi_pci_disable(dev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user