Browse Source

[media] stv090x: Fix delivery system setting

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 <mchehab@osg.samsung.com>
Mauro Carvalho Chehab 11 years ago
parent
commit
1011d24a21
1 changed files with 14 additions and 1 deletions
  1. 14 1
      drivers/media/dvb-frontends/stv090x.c

+ 14 - 1
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;