linux/drivers/staging/comedi/drivers/amplc_dio200.h
<<
>>
Prefs
   1/*
   2    comedi/drivers/amplc_dio.h
   3
   4    Header for amplc_dio200.c, amplc_dio200_common.c and
   5    amplc_dio200_pci.c.
   6
   7    Copyright (C) 2005-2013 MEV Ltd. <http://www.mev.co.uk/>
   8
   9    COMEDI - Linux Control and Measurement Device Interface
  10    Copyright (C) 1998,2000 David A. Schleef <ds@schleef.org>
  11
  12    This program is free software; you can redistribute it and/or modify
  13    it under the terms of the GNU General Public License as published by
  14    the Free Software Foundation; either version 2 of the License, or
  15    (at your option) any later version.
  16
  17    This program is distributed in the hope that it will be useful,
  18    but WITHOUT ANY WARRANTY; without even the implied warranty of
  19    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20    GNU General Public License for more details.
  21*/
  22
  23#ifndef AMPLC_DIO200_H_INCLUDED
  24#define AMPLC_DIO200_H_INCLUDED
  25
  26/*
  27 * Subdevice types.
  28 */
  29enum dio200_sdtype { sd_none, sd_intr, sd_8255, sd_8254, sd_timer };
  30
  31#define DIO200_MAX_SUBDEVS      8
  32#define DIO200_MAX_ISNS         6
  33
  34struct dio200_board {
  35        const char *name;
  36        unsigned char mainbar;
  37        unsigned short n_subdevs;       /* number of subdevices */
  38        unsigned char sdtype[DIO200_MAX_SUBDEVS];       /* enum dio200_sdtype */
  39        unsigned char sdinfo[DIO200_MAX_SUBDEVS];       /* depends on sdtype */
  40        bool has_int_sce:1;             /* has interrupt enable/status reg */
  41        bool has_clk_gat_sce:1;         /* has clock/gate selection registers */
  42        bool is_pcie:1;                 /* has enhanced features */
  43};
  44
  45int amplc_dio200_common_attach(struct comedi_device *dev, unsigned int irq,
  46                               unsigned long req_irq_flags);
  47
  48/* Used by initialization of PCIe boards. */
  49void amplc_dio200_set_enhance(struct comedi_device *dev, unsigned char val);
  50
  51#endif
  52