Re: [PATCH] Removing ununsed variable int lo, hi, int data and int i from comedi/drivers/dt2814.c.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nevermind, my sparse version was broken. Installed sparse 0.6.1, but
still no warnings from sparse in any of the directories in drivers staging.

E.g.:

make C=2 M=drivers/staging/sm750fb
  CHECK   drivers/staging/sm750fb/sm750.c
  CHECK   drivers/staging/sm750fb/sm750_hw.c
  CHECK   drivers/staging/sm750fb/sm750_accel.c
  CHECK   drivers/staging/sm750fb/sm750_cursor.c
  CHECK   drivers/staging/sm750fb/ddk750_chip.c
  CHECK   drivers/staging/sm750fb/ddk750_power.c
  CHECK   drivers/staging/sm750fb/ddk750_mode.c
  CHECK   drivers/staging/sm750fb/ddk750_display.c
  CHECK   drivers/staging/sm750fb/ddk750_swi2c.c
  CHECK   drivers/staging/sm750fb/ddk750_sii164.c
  CHECK   drivers/staging/sm750fb/ddk750_dvi.c
  CHECK   drivers/staging/sm750fb/ddk750_hwi2c.c
  MODPOST 1 modules


For few drivers, I am getting:

CC [M]  drivers/staging/vt6656/key.o
  CHECK   drivers/staging/vt6656/rf.c
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:417:9: warning: preprocessor token offsetof redefined
./include/linux/stddef.h:17:9: this was the original definition

but I guess these are false positive, as #undef offsetof is already present in ./include/linux/stddef.h.

On Sun, May 24, 2020 at 02:10:44PM +0200, Luc Van Oostenryck wrote:
> Hi,
> 
> On Sun, May 24, 2020 at 05:06:18PM +0530, Gaurav Pathak wrote:
> > Silence following sparse warning:
> > drivers/staging/comedi/drivers/dt2814.c: In function ‘dt2814_interrupt’:
> > drivers/staging/comedi/drivers/dt2814.c:193:6: warning: variable ‘data’ set but not used [-Wunused-but-set-variable]
> >   int data;
> >       ^~~~
> > drivers/staging/comedi/drivers/dt2814.c: In function ‘dt2814_attach’:
> > drivers/staging/comedi/drivers/dt2814.c:232:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]
> >   int i;
> >       ^
> 
> These warnings are not from sparse but simply from the compiler.
>  
> >  static irqreturn_t dt2814_interrupt(int irq, void *d)
> >  {
> > -	int lo, hi;
> >  	struct comedi_device *dev = d;
> >  	struct dt2814_private *devpriv = dev->private;
> >  	struct comedi_subdevice *s = dev->read_subdev;
> > -	int data;
> >  
> >  	if (!dev->attached) {
> >  		dev_err(dev->class_dev, "spurious interrupt\n");
> >  		return IRQ_HANDLED;
> >  	}
> >  
> > -	hi = inb(dev->iobase + DT2814_DATA);
> > -	lo = inb(dev->iobase + DT2814_DATA);
> > -
> > -	data = (hi << 4) | (lo >> 4);
> 
> OK, 'data' is unused but are these 2 'inb(dev->iobase + DT2814_DATA)'
> needed or not? I would guess that they're needed but I don't know
> this hardware.
> 
> > @@ -241,8 +233,6 @@ static int dt2814_attach(struct comedi_device *dev, struct comedi_devconfig *it)
> >  		dev_err(dev->class_dev, "reset error (fatal)\n");
> >  		return -EIO;
> >  	}
> > -	i = inb(dev->iobase + DT2814_DATA);
> > -	i = inb(dev->iobase + DT2814_DATA);
> 
> Same here.
> 
> -- Luc
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux