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
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to