else
                        arg = 0;
                if (priv->cfg->tuner_callback)
-                       priv->cfg->tuner_callback(priv->i2c_adap->algo_data,
-                                                 1, arg);
+                       priv->cfg->tuner_callback(priv, 1, arg);
                buf[1] = high ? 0 : 1;
                if (*priv->cfg->config == 2)
                        buf[1] = high ? 1 : 0;
                break;
        case 3: /* switch with GPIO of saa713x */
                if (priv->cfg->tuner_callback)
-                       priv->cfg->tuner_callback(priv->i2c_adap->algo_data,
-                                                 0, high);
+                       priv->cfg->tuner_callback(priv, 0, high);
                break;
        }
 }
 
 int saa7134_tuner_callback(void *ptr, int command, int arg)
 {
        u8 sync_control;
-       struct saa7134_dev *dev = ptr;
+       struct i2c_algo_bit_data *i2c_algo = priv;
+       struct saa7134_dev *dev = i2c_algo->data;
 
        switch (dev->tuner_type) {
        case TUNER_PHILIPS_TDA8290: