Commit 2e1b1d70 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Helge Deller

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: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent ce9ff57d
...@@ -28,7 +28,6 @@ ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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 { \ ...@@ -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) ...@@ -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) ...@@ -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 { ...@@ -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); ...@@ -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 */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment