struct dio200_subdev_8254 {
unsigned int ofs; /* Counter base offset */
- int which; /* Bit 5 of CLK_SCE or GAT_SCE */
unsigned int clock_src[3]; /* Current clock sources */
unsigned int gate_src[3]; /* Current gate sources */
spinlock_t spinlock;
return -1;
subpriv->gate_src[counter_number] = gate_src;
- byte = gat_sce(subpriv->which, counter_number, gate_src);
+ byte = gat_sce((subpriv->ofs >> 2) & 1, counter_number, gate_src);
dio200_write8(dev, DIO200_GAT_SCE(subpriv->ofs >> 3), byte);
return 0;
return -1;
subpriv->clock_src[counter_number] = clock_src;
- byte = clk_sce(subpriv->which, counter_number, clock_src);
+ byte = clk_sce((subpriv->ofs >> 2) & 1, counter_number, clock_src);
dio200_write8(dev, DIO200_CLK_SCE(subpriv->ofs >> 3), byte);
return 0;
spin_lock_init(&subpriv->spinlock);
subpriv->ofs = offset;
- if (board->has_clk_gat_sce)
- subpriv->which = (offset >> 2) & 1;
/* Initialize channels. */
for (chan = 0; chan < 3; chan++) {