mt352_calc_nominal_rate(state, op->bandwidth, buf+4);
        mt352_calc_input_freq(state, buf+6);
-       state->config.pll_set(fe, param, buf+8);
 
-       mt352_write(fe, buf, sizeof(buf));
+       if (fe->ops->tuner_ops.pllbuf) {
+               fe->ops->tuner_ops.pllbuf(fe, param, buf+8, 5);
+               buf[8] <<= 1;
+               mt352_write(fe, buf, sizeof(buf));
+       }
        if (state->config.no_tuner) {
                /* start decoding */
                mt352_write(fe, fsm_go, 2);
 
 
        /* Initialise the demodulator and PLL. Cannot be NULL */
        int (*demod_init)(struct dvb_frontend* fe);
-
-       /* PLL setup - fill out the supplied 5 byte buffer with your PLL settings.
-        * byte0: Set to pll i2c address (nonlinux; left shifted by 1)
-        * byte1-4: PLL configuration.
-        */
-       int (*pll_set)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, u8* pllbuf);
 };
 
 extern struct dvb_frontend* mt352_attach(const struct mt352_config* config,