mirror of https://gitee.com/openkylin/linux.git
staging: comedi: s526: remove boardinfo
This driver only supports one board type and only the "name", "gpct_chans", and "have_dio" information is being used anyway. Just remove the boardinfo to keep the driver simple. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2c7817891d
commit
3d9083b27a
|
@ -138,30 +138,6 @@ struct s526GPCTConfig {
|
|||
int data[MAX_GPCT_CONFIG_DATA];
|
||||
};
|
||||
|
||||
struct s526_board {
|
||||
const char *name;
|
||||
int gpct_chans;
|
||||
int gpct_bits;
|
||||
int ad_chans;
|
||||
int ad_bits;
|
||||
int da_chans;
|
||||
int da_bits;
|
||||
int have_dio;
|
||||
};
|
||||
|
||||
static const struct s526_board s526_boards[] = {
|
||||
{
|
||||
.name = "s526",
|
||||
.gpct_chans = 4,
|
||||
.gpct_bits = 24,
|
||||
.ad_chans = 8,
|
||||
.ad_bits = 16,
|
||||
.da_chans = 4,
|
||||
.da_bits = 16,
|
||||
.have_dio = 1,
|
||||
}
|
||||
};
|
||||
|
||||
struct s526_private {
|
||||
unsigned int ao_readback[2];
|
||||
struct s526GPCTConfig s526_gpct_config[4];
|
||||
|
@ -611,21 +587,20 @@ static int s526_dio_insn_config(struct comedi_device *dev,
|
|||
|
||||
static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
{
|
||||
const struct s526_board *board = comedi_board(dev);
|
||||
struct s526_private *devpriv;
|
||||
struct comedi_subdevice *s;
|
||||
int iobase;
|
||||
int ret;
|
||||
|
||||
dev->board_name = dev->driver->driver_name;
|
||||
|
||||
iobase = it->options[0];
|
||||
if (!iobase || !request_region(iobase, S526_IOSIZE, board->name)) {
|
||||
if (!iobase || !request_region(iobase, S526_IOSIZE, dev->board_name)) {
|
||||
comedi_error(dev, "I/O port conflict");
|
||||
return -EIO;
|
||||
}
|
||||
dev->iobase = iobase;
|
||||
|
||||
dev->board_name = board->name;
|
||||
|
||||
ret = alloc_private(dev, sizeof(*devpriv));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -639,7 +614,7 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|||
/* GENERAL-PURPOSE COUNTER/TIME (GPCT) */
|
||||
s->type = COMEDI_SUBD_COUNTER;
|
||||
s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_LSAMPL;
|
||||
s->n_chan = board->gpct_chans;
|
||||
s->n_chan = 4;
|
||||
s->maxdata = 0x00ffffff; /* 24 bit counter */
|
||||
s->insn_read = s526_gpct_rinsn;
|
||||
s->insn_config = s526_gpct_insn_config;
|
||||
|
@ -670,17 +645,13 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
|||
|
||||
s = &dev->subdevices[3];
|
||||
/* digital i/o subdevice */
|
||||
if (board->have_dio) {
|
||||
s->type = COMEDI_SUBD_DIO;
|
||||
s->subdev_flags = SDF_READABLE | SDF_WRITABLE;
|
||||
s->n_chan = 8;
|
||||
s->maxdata = 1;
|
||||
s->range_table = &range_digital;
|
||||
s->insn_bits = s526_dio_insn_bits;
|
||||
s->insn_config = s526_dio_insn_config;
|
||||
} else {
|
||||
s->type = COMEDI_SUBD_UNUSED;
|
||||
}
|
||||
s->type = COMEDI_SUBD_DIO;
|
||||
s->subdev_flags = SDF_READABLE | SDF_WRITABLE;
|
||||
s->n_chan = 8;
|
||||
s->maxdata = 1;
|
||||
s->range_table = &range_digital;
|
||||
s->insn_bits = s526_dio_insn_bits;
|
||||
s->insn_config = s526_dio_insn_config;
|
||||
|
||||
dev_info(dev->class_dev, "%s attached\n", dev->board_name);
|
||||
|
||||
|
@ -698,9 +669,6 @@ static struct comedi_driver s526_driver = {
|
|||
.module = THIS_MODULE,
|
||||
.attach = s526_attach,
|
||||
.detach = s526_detach,
|
||||
.board_name = &s526_boards[0].name,
|
||||
.offset = sizeof(struct s526_board),
|
||||
.num_names = ARRAY_SIZE(s526_boards),
|
||||
};
|
||||
module_comedi_driver(s526_driver);
|
||||
|
||||
|
|
Loading…
Reference in New Issue