This symbol mismatch is handled by NULL'ing out the release
callback if the driver is loaded as an i2c device.
This patch reverts:
- commit 
94448e21cf08 ("media: lgdt3306a: Fix a double kfree on i2c
  device remove")
- commit 
835d66173a38 ("media: lgdt3306a: Fix module count mismatch
  on usb unplug")
The symbol count mismatch is handled by:
- commit 
5b3a8e906973 ("media: lgdt3306a: Set fe ops.release to
  NULL if probed")
Signed-off-by: Brad Love <brad@nextdimension.cc>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
        struct lgdt3306a_state *state = fe->demodulator_priv;
 
        dbg_info("\n");
-
-       /*
-        * If state->muxc is not NULL, then we are an i2c device
-        * and lgdt3306a_remove will clean up state
-        */
-       if (!state->muxc)
-               kfree(state);
+       kfree(state);
 }
 
 static const struct dvb_frontend_ops lgdt3306a_ops;
                        sizeof(struct lgdt3306a_config));
 
        config->i2c_addr = client->addr;
-       fe = dvb_attach(lgdt3306a_attach, config, client->adapter);
+       fe = lgdt3306a_attach(config, client->adapter);
        if (fe == NULL) {
                ret = -ENODEV;
                goto err_fe;