mirror of
https://github.com/torvalds/linux
synced 2024-10-06 11:25:23 +00:00
parport: gsc: remove DMA leftover code
This driver does not actually work with DMA mode, but still tries to call ISA DMA interface functions that are stubbed out on parisc, resulting in a W=1 build warning: drivers/parport/parport_gsc.c: In function 'parport_remove_chip': drivers/parport/parport_gsc.c:389:20: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] 389 | free_dma(p->dma); Remove the corresponding code as a prerequisite for turning on -Wempty-body by default in all kernels. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
ce9ff57d39
commit
2e1b1d7063
|
@ -28,7 +28,6 @@
|
||||||
#include <linux/sysctl.h>
|
#include <linux/sysctl.h>
|
||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/dma.h>
|
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <asm/superio.h>
|
#include <asm/superio.h>
|
||||||
|
|
||||||
|
@ -226,9 +225,9 @@ static int parport_PS2_supported(struct parport *pb)
|
||||||
|
|
||||||
/* --- Initialisation code -------------------------------- */
|
/* --- Initialisation code -------------------------------- */
|
||||||
|
|
||||||
struct parport *parport_gsc_probe_port(unsigned long base,
|
static struct parport *parport_gsc_probe_port(unsigned long base,
|
||||||
unsigned long base_hi, int irq,
|
unsigned long base_hi, int irq,
|
||||||
int dma, struct parisc_device *padev)
|
struct parisc_device *padev)
|
||||||
{
|
{
|
||||||
struct parport_gsc_private *priv;
|
struct parport_gsc_private *priv;
|
||||||
struct parport_operations *ops;
|
struct parport_operations *ops;
|
||||||
|
@ -250,12 +249,9 @@ struct parport *parport_gsc_probe_port(unsigned long base,
|
||||||
}
|
}
|
||||||
priv->ctr = 0xc;
|
priv->ctr = 0xc;
|
||||||
priv->ctr_writable = 0xff;
|
priv->ctr_writable = 0xff;
|
||||||
priv->dma_buf = NULL;
|
|
||||||
priv->dma_handle = 0;
|
|
||||||
p->base = base;
|
p->base = base;
|
||||||
p->base_hi = base_hi;
|
p->base_hi = base_hi;
|
||||||
p->irq = irq;
|
p->irq = irq;
|
||||||
p->dma = dma;
|
|
||||||
p->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_SAFEININT;
|
p->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_SAFEININT;
|
||||||
p->ops = ops;
|
p->ops = ops;
|
||||||
p->private_data = priv;
|
p->private_data = priv;
|
||||||
|
@ -286,17 +282,9 @@ struct parport *parport_gsc_probe_port(unsigned long base,
|
||||||
if (p->irq == PARPORT_IRQ_AUTO) {
|
if (p->irq == PARPORT_IRQ_AUTO) {
|
||||||
p->irq = PARPORT_IRQ_NONE;
|
p->irq = PARPORT_IRQ_NONE;
|
||||||
}
|
}
|
||||||
if (p->irq != PARPORT_IRQ_NONE) {
|
if (p->irq != PARPORT_IRQ_NONE)
|
||||||
pr_cont(", irq %d", p->irq);
|
pr_cont(", irq %d", p->irq);
|
||||||
|
|
||||||
if (p->dma == PARPORT_DMA_AUTO) {
|
|
||||||
p->dma = PARPORT_DMA_NONE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (p->dma == PARPORT_DMA_AUTO) /* To use DMA, giving the irq
|
|
||||||
is mandatory (see above) */
|
|
||||||
p->dma = PARPORT_DMA_NONE;
|
|
||||||
|
|
||||||
pr_cont(" [");
|
pr_cont(" [");
|
||||||
#define printmode(x) \
|
#define printmode(x) \
|
||||||
do { \
|
do { \
|
||||||
|
@ -321,7 +309,6 @@ do { \
|
||||||
pr_warn("%s: irq %d in use, resorting to polled operation\n",
|
pr_warn("%s: irq %d in use, resorting to polled operation\n",
|
||||||
p->name, p->irq);
|
p->name, p->irq);
|
||||||
p->irq = PARPORT_IRQ_NONE;
|
p->irq = PARPORT_IRQ_NONE;
|
||||||
p->dma = PARPORT_DMA_NONE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,8 +356,7 @@ static int __init parport_init_chip(struct parisc_device *dev)
|
||||||
pr_info("%s: enhanced parport-modes not supported\n", __func__);
|
pr_info("%s: enhanced parport-modes not supported\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
p = parport_gsc_probe_port(port, 0, dev->irq,
|
p = parport_gsc_probe_port(port, 0, dev->irq, dev);
|
||||||
/* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, dev);
|
|
||||||
if (p)
|
if (p)
|
||||||
parport_count++;
|
parport_count++;
|
||||||
dev_set_drvdata(&dev->dev, p);
|
dev_set_drvdata(&dev->dev, p);
|
||||||
|
@ -382,16 +368,10 @@ static void __exit parport_remove_chip(struct parisc_device *dev)
|
||||||
{
|
{
|
||||||
struct parport *p = dev_get_drvdata(&dev->dev);
|
struct parport *p = dev_get_drvdata(&dev->dev);
|
||||||
if (p) {
|
if (p) {
|
||||||
struct parport_gsc_private *priv = p->private_data;
|
|
||||||
struct parport_operations *ops = p->ops;
|
struct parport_operations *ops = p->ops;
|
||||||
parport_remove_port(p);
|
parport_remove_port(p);
|
||||||
if (p->dma != PARPORT_DMA_NONE)
|
|
||||||
free_dma(p->dma);
|
|
||||||
if (p->irq != PARPORT_IRQ_NONE)
|
if (p->irq != PARPORT_IRQ_NONE)
|
||||||
free_irq(p->irq, p);
|
free_irq(p->irq, p);
|
||||||
if (priv->dma_buf)
|
|
||||||
dma_free_coherent(&priv->dev->dev, PAGE_SIZE,
|
|
||||||
priv->dma_buf, priv->dma_handle);
|
|
||||||
kfree (p->private_data);
|
kfree (p->private_data);
|
||||||
parport_put_port(p);
|
parport_put_port(p);
|
||||||
kfree (ops); /* hope no-one cached it */
|
kfree (ops); /* hope no-one cached it */
|
||||||
|
|
|
@ -63,8 +63,6 @@ struct parport_gsc_private {
|
||||||
int writeIntrThreshold;
|
int writeIntrThreshold;
|
||||||
|
|
||||||
/* buffer suitable for DMA, if DMA enabled */
|
/* buffer suitable for DMA, if DMA enabled */
|
||||||
char *dma_buf;
|
|
||||||
dma_addr_t dma_handle;
|
|
||||||
struct pci_dev *dev;
|
struct pci_dev *dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -199,9 +197,4 @@ extern void parport_gsc_inc_use_count(void);
|
||||||
|
|
||||||
extern void parport_gsc_dec_use_count(void);
|
extern void parport_gsc_dec_use_count(void);
|
||||||
|
|
||||||
extern struct parport *parport_gsc_probe_port(unsigned long base,
|
|
||||||
unsigned long base_hi,
|
|
||||||
int irq, int dma,
|
|
||||||
struct parisc_device *padev);
|
|
||||||
|
|
||||||
#endif /* __DRIVERS_PARPORT_PARPORT_GSC_H */
|
#endif /* __DRIVERS_PARPORT_PARPORT_GSC_H */
|
||||||
|
|
Loading…
Reference in a new issue