[media] stb0899: move code to "detach" callback
authorMax Kellermann <max.kellermann@gmail.com>
Tue, 9 Aug 2016 21:32:46 +0000 (18:32 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 18 Nov 2016 17:10:41 +0000 (15:10 -0200)
Ensure that STB0899_POSTPROC_GPIO_POWER is set synchronously.

Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/dvb-frontends/stb0899_drv.c

index cc18891f9b458d26c9e81569015d0394a491512e..02347598277afffb40734cb339d1f8d427580d01 100644 (file)
@@ -601,13 +601,19 @@ static int stb0899_postproc(struct stb0899_state *state, u8 ctl, int enable)
        return 0;
 }
 
-static void stb0899_release(struct dvb_frontend *fe)
+static void stb0899_detach(struct dvb_frontend *fe)
 {
        struct stb0899_state *state = fe->demodulator_priv;
 
-       dprintk(state->verbose, FE_DEBUG, 1, "Release Frontend");
        /* post process event */
        stb0899_postproc(state, STB0899_POSTPROC_GPIO_POWER, 0);
+}
+
+static void stb0899_release(struct dvb_frontend *fe)
+{
+       struct stb0899_state *state = fe->demodulator_priv;
+
+       dprintk(state->verbose, FE_DEBUG, 1, "Release Frontend");
        kfree(state);
 }
 
@@ -1590,6 +1596,7 @@ static const struct dvb_frontend_ops stb0899_ops = {
                                          FE_CAN_QPSK
        },
 
+       .detach                         = stb0899_detach,
        .release                        = stb0899_release,
        .init                           = stb0899_init,
        .sleep                          = stb0899_sleep,