struct dio200_board {
const char *name;
unsigned char mainbar;
- unsigned char mainshift;
unsigned short n_subdevs; /* number of subdevices */
unsigned char sdtype[DIO200_MAX_SUBDEVS]; /* enum dio200_sdtype */
unsigned char sdinfo[DIO200_MAX_SUBDEVS]; /* depends on sdtype */
{
const struct dio200_board *board = comedi_board(dev);
- offset <<= board->mainshift;
+ if (board->is_pcie)
+ offset <<= 3;
if (dev->mmio)
return readb(dev->mmio + offset);
{
const struct dio200_board *board = comedi_board(dev);
- offset <<= board->mainshift;
+ if (board->is_pcie)
+ offset <<= 3;
if (dev->mmio)
writeb(val, dev->mmio + offset);
{
const struct dio200_board *board = comedi_board(dev);
- offset <<= board->mainshift;
+ if (board->is_pcie)
+ offset <<= 3;
if (dev->mmio)
return readl(dev->mmio + offset);
{
const struct dio200_board *board = comedi_board(dev);
- offset <<= board->mainshift;
+ if (board->is_pcie)
+ offset <<= 3;
if (dev->mmio)
writel(val, dev->mmio + offset);
[pcie215_model] = {
.name = "pcie215",
.mainbar = 1,
- .mainshift = 3,
.n_subdevs = 8,
.sdtype = {
sd_8255, sd_none, sd_8255, sd_none,
[pcie236_model] = {
.name = "pcie236",
.mainbar = 1,
- .mainshift = 3,
.n_subdevs = 8,
.sdtype = {
sd_8255, sd_none, sd_none, sd_none,
[pcie296_model] = {
.name = "pcie296",
.mainbar = 1,
- .mainshift = 3,
.n_subdevs = 8,
.sdtype = {
sd_8255, sd_8255, sd_8255, sd_8255,