[PATCH 1/2] staging: comedi: remove unused 'channel flags' support

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

 



The `flags` and `flaglist` members of `struct comedi_subdevice` were
defined to supply "all-channel" flags via the `COMEDI_SUBDINFO` ioctl,
or "channel-specific" flags via the `COMEDI_CHANINFO` ioctls,
respectively.  However, no comedi driver has ever set them.

It's not entirely clear how "all-channel" flags would differ from the
"subdevice" flags passed by `COMEDI_SUBDINFO`.  It is conceivable that
"channel-specific" flags could be used to describe different analog
reference values (or whatever) supported by different channels.
Presumably these would use some sub-set of the `SDF_xxx` subdevice flag
values, or possibly the `CR_xxx` flag values that get packed into a
"chanspec" value (along with a channel number and range code).  The
original intentions are lost in the mists of time.

For now, just remove the `flags` and `flaglist` members from `struct
comedi_subdevice` and behave as though they have been left at their
default values (0 or NULL) by the low-level comedi driver.

Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
---
 drivers/staging/comedi/comedi_fops.c | 12 ++----------
 drivers/staging/comedi/comedidev.h   |  3 ---
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index 1636c7c..ff0e46d 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -806,7 +806,6 @@ static int do_subdinfo_ioctl(struct comedi_device *dev,
 		} else {
 			us->range_type = 0;	/* XXX */
 		}
-		us->flags = s->flags;
 
 		if (s->busy)
 			us->subd_flags |= SDF_BUSY;
@@ -818,8 +817,6 @@ static int do_subdinfo_ioctl(struct comedi_device *dev,
 			us->subd_flags |= SDF_LOCK_OWNER;
 		if (!s->maxdata && s->maxdata_list)
 			us->subd_flags |= SDF_MAXDATA;
-		if (s->flaglist)
-			us->subd_flags |= SDF_FLAGS;
 		if (s->range_table_list)
 			us->subd_flags |= SDF_RANGETYPE;
 		if (s->do_cmd)
@@ -875,13 +872,8 @@ static int do_chaninfo_ioctl(struct comedi_device *dev,
 			return -EFAULT;
 	}
 
-	if (it.flaglist) {
-		if (!s->flaglist)
-			return -EINVAL;
-		if (copy_to_user(it.flaglist, s->flaglist,
-				 s->n_chan * sizeof(unsigned int)))
-			return -EFAULT;
-	}
+	if (it.flaglist)
+		return -EINVAL;	/* flaglist not supported */
 
 	if (it.rangelist) {
 		int i;
diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
index 6db099b..7fa1341 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
@@ -57,9 +57,6 @@ struct comedi_subdevice {
 	unsigned int maxdata;	/* if maxdata==0, use list */
 	const unsigned int *maxdata_list;	/* list is channel specific */
 
-	unsigned int flags;
-	const unsigned int *flaglist;
-
 	unsigned int settling_time_0;
 
 	const struct comedi_lrange *range_table;
-- 
1.8.3.2

_______________________________________________
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