V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE

Tuning DVB-T via the S2API was failing, missing some essential items.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 104f40b..0ddc2f4 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -840,6 +840,16 @@
 		.cmd	= DTV_CODE_RATE_LP,
 		.set	= 1,
 	},
+	[DTV_GUARD_INTERVAL] = {
+		.name	= "DTV_GUARD_INTERVAL",
+		.cmd	= DTV_GUARD_INTERVAL,
+		.set	= 1,
+	},
+	[DTV_TRANSMISSION_MODE] = {
+		.name	= "DTV_TRANSMISSION_MODE",
+		.cmd	= DTV_TRANSMISSION_MODE,
+		.set	= 1,
+	},
 	/* Get */
 	[DTV_DISEQC_SLAVE_REPLY] = {
 		.name	= "DTV_DISEQC_SLAVE_REPLY",
@@ -862,6 +872,16 @@
 		.cmd	= DTV_CODE_RATE_LP,
 		.set	= 0,
 	},
+	[DTV_GUARD_INTERVAL] = {
+		.name	= "DTV_GUARD_INTERVAL",
+		.cmd	= DTV_GUARD_INTERVAL,
+		.set	= 0,
+	},
+	[DTV_TRANSMISSION_MODE] = {
+		.name	= "DTV_TRANSMISSION_MODE",
+		.cmd	= DTV_TRANSMISSION_MODE,
+		.set	= 0,
+	},
 };
 
 void dtv_property_dump(struct dtv_property *tvp)
@@ -1147,6 +1167,12 @@
 	case DTV_CODE_RATE_LP:
 		tvp->u.data = fe->dtv_property_cache.code_rate_LP;
 		break;
+	case DTV_GUARD_INTERVAL:
+		tvp->u.data = fe->dtv_property_cache.guard_interval;
+		break;
+	case DTV_TRANSMISSION_MODE:
+		tvp->u.data = fe->dtv_property_cache.transmission_mode;
+		break;
 	default:
 		r = -1;
 	}
@@ -1234,6 +1260,12 @@
 	case DTV_CODE_RATE_LP:
 		fe->dtv_property_cache.code_rate_LP = tvp->u.data;
 		break;
+	case DTV_GUARD_INTERVAL:
+		fe->dtv_property_cache.guard_interval = tvp->u.data;
+		break;
+	case DTV_TRANSMISSION_MODE:
+		fe->dtv_property_cache.transmission_mode = tvp->u.data;
+		break;
 	default:
 		r = -1;
 	}
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index 6675edf..5578fba 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -271,8 +271,10 @@
 #define DTV_API_VERSION				35
 #define DTV_CODE_RATE_HP			36
 #define DTV_CODE_RATE_LP			37
+#define DTV_GUARD_INTERVAL			38
+#define DTV_TRANSMISSION_MODE			39
 
-#define DTV_MAX_COMMAND				DTV_CODE_RATE_LP
+#define DTV_MAX_COMMAND				DTV_TRANSMISSION_MODE
 
 typedef enum fe_pilot {
 	PILOT_ON,