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++) {