V4L/DVB (6562): Make HVR900 to use also tveeprom

Hauppauge firmwares can be decoded using tveeprom. This patch adds HVR-900 as
a tveeprom client. It also adds xc3028 tuner entry to tveeprom.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index b1afc6c..a2c0794 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -587,11 +587,11 @@
 	/* request some modules */
 	switch (dev->model) {
 	case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2:
+	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
 	{
 		struct tveeprom tv;
 #ifdef CONFIG_MODULES
 		request_module("tveeprom");
-		request_module("ir-kbd-i2c");
 #endif
 		/* Call first TVeeprom */
 
@@ -603,6 +603,12 @@
 			dev->i2s_speed = 2048000;
 			dev->has_msp34xx = 1;
 		}
+#ifdef CONFIG_MODULES
+		if (tv.has_ir)
+			request_module("ir-kbd-i2c");
+#endif
+		/* FIXME: Should also retrieve decoder processor type */
+
 		break;
 	}
 	case EM2820_BOARD_KWORLD_PVRTV2800RF:
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c
index 0faa149..403fbd0 100644
--- a/drivers/media/video/tveeprom.c
+++ b/drivers/media/video/tveeprom.c
@@ -226,7 +226,7 @@
 	{ TUNER_ABSENT,        "TCL M2523_3DI_E"},
 	{ TUNER_ABSENT,        "Samsung THPD5222FG30A"},
 	/* 120-129 */
-	{ TUNER_ABSENT,        "Xceive XC3028"},
+	{ TUNER_XC2028,        "Xceive XC3028"},
 	{ TUNER_ABSENT,        "Philips FQ1216LME MK5"},
 	{ TUNER_ABSENT,        "Philips FQD1216LME"},
 	{ TUNER_ABSENT,        "Conexant CX24118A"},