As sparse complains:
        drivers/media/dvb-frontends/stv090x.c:3471:30: warning: mixing 
different enum types
        drivers/media/dvb-frontends/stv090x.c:3471:30:     int enum 
fe_delivery_system  versus
        drivers/media/dvb-frontends/stv090x.c:3471:30:     int enum 
stv090x_delsys

There's actually an error when setting the delivery system on
stv090x_search(): it is using the DVBv5 macros as if they were
the stv090x ones.

Instead, we should convert between the two namespaces, returning
an error if an unsupported delivery system is requested.

Signed-off-by: Mauro Carvalho Chehab <mche...@osg.samsung.com>

diff --git a/drivers/media/dvb-frontends/stv090x.c 
b/drivers/media/dvb-frontends/stv090x.c
index 93f4979ea6e9..f8050b984a8f 100644
--- a/drivers/media/dvb-frontends/stv090x.c
+++ b/drivers/media/dvb-frontends/stv090x.c
@@ -3468,7 +3468,20 @@ static enum dvbfe_search stv090x_search(struct 
dvb_frontend *fe)
        if (props->frequency == 0)
                return DVBFE_ALGO_SEARCH_INVALID;
 
-       state->delsys = props->delivery_system;
+       switch (props->delivery_system) {
+       case SYS_DSS:
+               state->delsys = STV090x_DSS;
+               break;
+       case SYS_DVBS:
+               state->delsys = STV090x_DVBS1;
+               break;
+       case SYS_DVBS2:
+               state->delsys = STV090x_DVBS2;
+               break;
+       default:
+               return DVBFE_ALGO_SEARCH_INVALID;
+       }
+
        state->frequency = props->frequency;
        state->srate = props->symbol_rate;
        state->search_mode = STV090x_SEARCH_AUTO;
-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to