diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 00665d6ffc17c21ff04499a0f4f85b11c12ce48d..666630572f354499340bccd77250fc6f032cd664 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -154,6 +154,7 @@ struct em28xx_board em28xx_boards[] = {
 			.amux     = 1,
 		}},
 	},
+#ifdef CONFIG_XC3028
 	[EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = {
 		.name         = "Hauppauge WinTV HVR 900",
 		.vchannels    = 3,
@@ -222,6 +223,7 @@ struct em28xx_board em28xx_boards[] = {
 			.amux     = 1,
 		}},
 	},
+#endif
 	[EM2820_BOARD_MSI_VOX_USB_2] = {
 		.name		= "MSI VOX USB 2.0",
 		.vchannels	= 3,
@@ -340,9 +342,11 @@ struct usb_device_id em28xx_id_table [] = {
 	{ USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 },
 	{ USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
 	{ USB_DEVICE(0x2304, 0x0207), .driver_info = EM2820_BOARD_PINNACLE_DVC_90 },
+#ifdef CONFIG_XC3028
 	{ USB_DEVICE(0x2040, 0x6500), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
 	{ USB_DEVICE(0x0ccd, 0x0042), .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS },
 	{ USB_DEVICE(0x0ccd, 0x0047), .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS },
+#endif
 	{ },
 };
 
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 4a660a4228b9b13901e7833cf83a5af8f02739d0..3a96cc4ae81d029b4fabf8ddd846567f61394b73 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -216,9 +216,11 @@ static void set_type(struct i2c_client *c, unsigned int type,
 		i2c_master_send(c,buffer,4);
 		default_tuner_init(c);
 		break;
+#ifdef CONFIG_XC3028
 	case TUNER_XCEIVE_XC3028:
 		xc3028_init(c);
 		break;
+#endif
 	default:
 		default_tuner_init(c);
 		break;
diff --git a/drivers/media/video/tuner-types.c b/drivers/media/video/tuner-types.c
index a4384e6e53188e79075695f2d60ba5243f84d547..15761dd8607d6a59de5b124286f7633729a7c23e 100644
--- a/drivers/media/video/tuner-types.c
+++ b/drivers/media/video/tuner-types.c
@@ -983,23 +983,6 @@ static struct tuner_params tuner_samsung_tcpn_2121p30a_params[] = {
 	},
 };
 
-/* ------------ TUNER_XCEIVE_XC3028 - Xceive xc3028 ------------ */
-
-static struct tuner_range tuner_xceive_xc3028_ranges[] = {
-	{ 16 * 140.25 /*MHz*/, 0x02, },
-	{ 16 * 463.25 /*MHz*/, 0x04, },
-	{ 16 * 999.99        , 0x01, },
-};
-
-static struct tuner_params tuner_xceive_xc3028_params[] = {
-	{
-		.type   = TUNER_XCEIVE_XC3028,
-		.ranges = tuner_xceive_xc3028_ranges,
-		.count  = ARRAY_SIZE(tuner_xceive_xc3028_ranges),
-	},
-};
-
-
 /* --------------------------------------------------------------------- */
 
 struct tunertype tuners[] = {
@@ -1369,7 +1352,7 @@ struct tunertype tuners[] = {
 	},
 	[TUNER_XCEIVE_XC3028] = { /* Xceive 3028 */
 		.name	= "Xceive xc3028",
-		.params = tuner_xceive_xc3028_params,
+		/* see xc3028.c for details */
 	},
 };