diff --git a/drivers/media/dvb/frontends/lgs8gl5.c b/drivers/media/dvb/frontends/lgs8gl5.c
index c0a223d..855852f 100644
--- a/drivers/media/dvb/frontends/lgs8gl5.c
+++ b/drivers/media/dvb/frontends/lgs8gl5.c
@@ -92,7 +92,7 @@
 static int
 lgs8gl5_read_reg(struct lgs8gl5_state *state, u8 reg)
 {
-	int ret, j;
+	int ret;
 	u8 b0[] = {reg};
 	u8 b1[] = {0};
 	struct i2c_msg msg[2] = {
@@ -132,7 +132,7 @@
 static int
 lgs8gl5_update_alt_reg(struct lgs8gl5_state *state, u8 reg, u8 data)
 {
-	int ret, j;
+	int ret;
 	u8 b0[] = {reg};
 	u8 b1[] = {0};
 	u8 b2[] = {reg, data};
@@ -176,30 +176,6 @@
 }
 
 
-static int
-lgs8gl5_set_inversion(struct lgs8gl5_state *state, int inversion)
-{
-	u8 val;
-
-	dprintk("%s\n", __func__);
-
-	switch (inversion) {
-	case INVERSION_AUTO:
-		return -EOPNOTSUPP;
-	case INVERSION_ON:
-		val = lgs8gl5_read_reg(state, REG_INVERSION);
-		return lgs8gl5_write_reg(state, REG_INVERSION,
-			val | REG_INVERSION_ON);
-	case INVERSION_OFF:
-		val = lgs8gl5_read_reg(state, REG_INVERSION);
-		return lgs8gl5_write_reg(state, REG_INVERSION,
-			val & ~REG_INVERSION_ON);
-	default:
-		return -EINVAL;
-	}
-}
-
-
 /* Starts demodulation */
 static void
 lgs8gl5_start_demod(struct lgs8gl5_state *state)
@@ -297,7 +273,6 @@
 static int
 lgs8gl5_read_ber(struct dvb_frontend *fe, u32 *ber)
 {
-	struct lgs8gl5_state *state = fe->demodulator_priv;
 	*ber = 0;
 
 	return 0;
@@ -329,7 +304,6 @@
 static int
 lgs8gl5_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
 {
-	struct lgs8gl5_state *state = fe->demodulator_priv;
 	*ucblocks = 0;
 
 	return 0;
