Messages in this thread | | | Date | Thu, 3 Aug 2023 10:10:45 +0200 | Subject | Re: [PATCH 1/2] parport: gsc: remove DMA leftover code | From | Helge Deller <> |
| |
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 */
| |