Message ID | 20230726150944.2265044-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [1/2] parport: gsc: remove DMA leftover code | expand |
On 7/26/23 17:09, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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> Thanks Arnd! I've added it to the parisc for-next git tree. Helge > --- > drivers/parport/parport_gsc.c | 28 ++++------------------------ > drivers/parport/parport_gsc.h | 7 ------- > 2 files changed, 4 insertions(+), 31 deletions(-) > > diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c > index 0dcc497b0449a..5e4475254bd0a 100644 > --- a/drivers/parport/parport_gsc.c > +++ b/drivers/parport/parport_gsc.c > @@ -28,7 +28,6 @@ > #include <linux/sysctl.h> > > #include <asm/io.h> > -#include <asm/dma.h> > #include <linux/uaccess.h> > #include <asm/superio.h> > > @@ -226,9 +225,9 @@ static int parport_PS2_supported(struct parport *pb) > > /* --- 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, > - int dma, struct parisc_device *padev) > + struct parisc_device *padev) > { > struct parport_gsc_private *priv; > struct parport_operations *ops; > @@ -250,12 +249,9 @@ struct parport *parport_gsc_probe_port(unsigned long base, > } > priv->ctr = 0xc; > priv->ctr_writable = 0xff; > - priv->dma_buf = NULL; > - priv->dma_handle = 0; > p->base = base; > p->base_hi = base_hi; > p->irq = irq; > - p->dma = dma; > p->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_SAFEININT; > p->ops = ops; > p->private_data = priv; > @@ -286,17 +282,9 @@ struct parport *parport_gsc_probe_port(unsigned long base, > if (p->irq == PARPORT_IRQ_AUTO) { > p->irq = PARPORT_IRQ_NONE; > } > - if (p->irq != PARPORT_IRQ_NONE) { > + if (p->irq != PARPORT_IRQ_NONE) > 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(" ["); > #define printmode(x) \ > do { \ > @@ -321,7 +309,6 @@ do { \ > pr_warn("%s: irq %d in use, resorting to polled operation\n", > p->name, p->irq); > 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__); > } > > - p = parport_gsc_probe_port(port, 0, dev->irq, > - /* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, dev); > + p = parport_gsc_probe_port(port, 0, dev->irq, dev); > if (p) > parport_count++; > 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); > if (p) { > - struct parport_gsc_private *priv = p->private_data; > struct parport_operations *ops = p->ops; > parport_remove_port(p); > - if (p->dma != PARPORT_DMA_NONE) > - free_dma(p->dma); > if (p->irq != PARPORT_IRQ_NONE) > 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); > parport_put_port(p); > kfree (ops); /* hope no-one cached it */ > diff --git a/drivers/parport/parport_gsc.h b/drivers/parport/parport_gsc.h > index 9301217edf12c..d447a568c2570 100644 > --- a/drivers/parport/parport_gsc.h > +++ b/drivers/parport/parport_gsc.h > @@ -63,8 +63,6 @@ struct parport_gsc_private { > int writeIntrThreshold; > > /* buffer suitable for DMA, if DMA enabled */ > - char *dma_buf; > - dma_addr_t dma_handle; > 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 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 */
diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c index 0dcc497b0449a..5e4475254bd0a 100644 --- a/drivers/parport/parport_gsc.c +++ b/drivers/parport/parport_gsc.c @@ -28,7 +28,6 @@ #include <linux/sysctl.h> #include <asm/io.h> -#include <asm/dma.h> #include <linux/uaccess.h> #include <asm/superio.h> @@ -226,9 +225,9 @@ static int parport_PS2_supported(struct parport *pb) /* --- 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, - int dma, struct parisc_device *padev) + struct parisc_device *padev) { struct parport_gsc_private *priv; struct parport_operations *ops; @@ -250,12 +249,9 @@ struct parport *parport_gsc_probe_port(unsigned long base, } priv->ctr = 0xc; priv->ctr_writable = 0xff; - priv->dma_buf = NULL; - priv->dma_handle = 0; p->base = base; p->base_hi = base_hi; p->irq = irq; - p->dma = dma; p->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_SAFEININT; p->ops = ops; p->private_data = priv; @@ -286,17 +282,9 @@ struct parport *parport_gsc_probe_port(unsigned long base, if (p->irq == PARPORT_IRQ_AUTO) { p->irq = PARPORT_IRQ_NONE; } - if (p->irq != PARPORT_IRQ_NONE) { + if (p->irq != PARPORT_IRQ_NONE) 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(" ["); #define printmode(x) \ do { \ @@ -321,7 +309,6 @@ do { \ pr_warn("%s: irq %d in use, resorting to polled operation\n", p->name, p->irq); 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__); } - p = parport_gsc_probe_port(port, 0, dev->irq, - /* PARPORT_IRQ_NONE */ PARPORT_DMA_NONE, dev); + p = parport_gsc_probe_port(port, 0, dev->irq, dev); if (p) parport_count++; 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); if (p) { - struct parport_gsc_private *priv = p->private_data; struct parport_operations *ops = p->ops; parport_remove_port(p); - if (p->dma != PARPORT_DMA_NONE) - free_dma(p->dma); if (p->irq != PARPORT_IRQ_NONE) 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); parport_put_port(p); kfree (ops); /* hope no-one cached it */ diff --git a/drivers/parport/parport_gsc.h b/drivers/parport/parport_gsc.h index 9301217edf12c..d447a568c2570 100644 --- a/drivers/parport/parport_gsc.h +++ b/drivers/parport/parport_gsc.h @@ -63,8 +63,6 @@ struct parport_gsc_private { int writeIntrThreshold; /* buffer suitable for DMA, if DMA enabled */ - char *dma_buf; - dma_addr_t dma_handle; 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 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 */