#include <media/i2c/saa7127.h>
 #include <media/tveeprom.h>
 #include <media/v4l2-event.h>
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
 #include <linux/dvb/audio.h>
+#include <linux/dvb/video.h>
+#endif
 
 u16 ivtv_service2vbi(int type)
 {
        return ivtv_video_command(itv, id, dec, true);
 }
 
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
+static __inline__ void warn_deprecated_ioctl(const char *name)
+{
+       pr_warn_once("warning: the %s ioctl is deprecated. Don't use it, as it will be removed soon\n",
+                    name);
+}
+#endif
+
 static int ivtv_decoder_ioctls(struct file *filp, unsigned int cmd, void *arg)
 {
        struct ivtv_open_id *id = fh2id(filp->private_data);
        struct ivtv *itv = id->itv;
-       int nonblocking = filp->f_flags & O_NONBLOCK;
        struct ivtv_stream *s = &itv->streams[id->type];
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
+       int nonblocking = filp->f_flags & O_NONBLOCK;
        unsigned long iarg = (unsigned long)arg;
+#endif
 
        switch (cmd) {
        case IVTV_IOC_DMA_FRAME: {
                if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT))
                        return -EINVAL;
                return ivtv_passthrough_mode(itv, *(int *)arg != 0);
-
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
        case VIDEO_GET_PTS: {
                s64 *pts = arg;
                s64 frame;
 
-               IVTV_DEBUG_IOCTL("VIDEO_GET_PTS\n");
+               warn_deprecated_ioctl("VIDEO_GET_PTS");
                if (s->type < IVTV_DEC_STREAM_TYPE_MPG) {
                        *pts = s->dma_pts;
                        break;
                s64 *frame = arg;
                s64 pts;
 
-               IVTV_DEBUG_IOCTL("VIDEO_GET_FRAME_COUNT\n");
+               warn_deprecated_ioctl("VIDEO_GET_FRAME_COUNT");
                if (s->type < IVTV_DEC_STREAM_TYPE_MPG) {
                        *frame = 0;
                        break;
        case VIDEO_PLAY: {
                struct v4l2_decoder_cmd dc;
 
-               IVTV_DEBUG_IOCTL("VIDEO_PLAY\n");
+               warn_deprecated_ioctl("VIDEO_PLAY");
                memset(&dc, 0, sizeof(dc));
                dc.cmd = V4L2_DEC_CMD_START;
                return ivtv_video_command(itv, id, &dc, 0);
        case VIDEO_STOP: {
                struct v4l2_decoder_cmd dc;
 
-               IVTV_DEBUG_IOCTL("VIDEO_STOP\n");
+               warn_deprecated_ioctl("VIDEO_STOP");
                memset(&dc, 0, sizeof(dc));
                dc.cmd = V4L2_DEC_CMD_STOP;
                dc.flags = V4L2_DEC_CMD_STOP_TO_BLACK | V4L2_DEC_CMD_STOP_IMMEDIATELY;
        case VIDEO_FREEZE: {
                struct v4l2_decoder_cmd dc;
 
-               IVTV_DEBUG_IOCTL("VIDEO_FREEZE\n");
+               warn_deprecated_ioctl("VIDEO_FREEZE");
                memset(&dc, 0, sizeof(dc));
                dc.cmd = V4L2_DEC_CMD_PAUSE;
                return ivtv_video_command(itv, id, &dc, 0);
        case VIDEO_CONTINUE: {
                struct v4l2_decoder_cmd dc;
 
-               IVTV_DEBUG_IOCTL("VIDEO_CONTINUE\n");
+               warn_deprecated_ioctl("VIDEO_CONTINUE");
                memset(&dc, 0, sizeof(dc));
                dc.cmd = V4L2_DEC_CMD_RESUME;
                return ivtv_video_command(itv, id, &dc, 0);
                int try = (cmd == VIDEO_TRY_COMMAND);
 
                if (try)
-                       IVTV_DEBUG_IOCTL("VIDEO_TRY_COMMAND %d\n", dc->cmd);
+                       warn_deprecated_ioctl("VIDEO_TRY_COMMAND");
                else
-                       IVTV_DEBUG_IOCTL("VIDEO_COMMAND %d\n", dc->cmd);
+                       warn_deprecated_ioctl("VIDEO_COMMAND");
                return ivtv_video_command(itv, id, dc, try);
        }
 
                struct video_event *ev = arg;
                DEFINE_WAIT(wait);
 
-               IVTV_DEBUG_IOCTL("VIDEO_GET_EVENT\n");
+               warn_deprecated_ioctl("VIDEO_GET_EVENT");
                if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT))
                        return -EINVAL;
                memset(ev, 0, sizeof(*ev));
        }
 
        case VIDEO_SELECT_SOURCE:
-               IVTV_DEBUG_IOCTL("VIDEO_SELECT_SOURCE\n");
+               warn_deprecated_ioctl("VIDEO_SELECT_SOURCE");
                if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT))
                        return -EINVAL;
                return ivtv_passthrough_mode(itv, iarg == VIDEO_SOURCE_DEMUX);
 
        case AUDIO_SET_MUTE:
-               IVTV_DEBUG_IOCTL("AUDIO_SET_MUTE\n");
+               warn_deprecated_ioctl("AUDIO_SET_MUTE");
                itv->speed_mute_audio = iarg;
                return 0;
 
        case AUDIO_CHANNEL_SELECT:
-               IVTV_DEBUG_IOCTL("AUDIO_CHANNEL_SELECT\n");
+               warn_deprecated_ioctl("AUDIO_CHANNEL_SELECT");
                if (iarg > AUDIO_STEREO_SWAPPED)
                        return -EINVAL;
                return v4l2_ctrl_s_ctrl(itv->ctrl_audio_playback, iarg + 1);
 
        case AUDIO_BILINGUAL_CHANNEL_SELECT:
-               IVTV_DEBUG_IOCTL("AUDIO_BILINGUAL_CHANNEL_SELECT\n");
+               warn_deprecated_ioctl("AUDIO_BILINGUAL_CHANNEL_SELECT");
                if (iarg > AUDIO_STEREO_SWAPPED)
                        return -EINVAL;
                return v4l2_ctrl_s_ctrl(itv->ctrl_audio_multilingual_playback, iarg + 1);
-
+#endif
        default:
                return -EINVAL;
        }
        if (!valid_prio) {
                switch (cmd) {
                case IVTV_IOC_PASSTHROUGH_MODE:
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
                case VIDEO_PLAY:
                case VIDEO_STOP:
                case VIDEO_FREEZE:
                case AUDIO_SET_MUTE:
                case AUDIO_CHANNEL_SELECT:
                case AUDIO_BILINGUAL_CHANNEL_SELECT:
+#endif
                        return -EBUSY;
                }
        }
 
        case IVTV_IOC_DMA_FRAME:
        case IVTV_IOC_PASSTHROUGH_MODE:
+#ifdef CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
        case VIDEO_GET_PTS:
        case VIDEO_GET_FRAME_COUNT:
        case VIDEO_GET_EVENT:
        case AUDIO_SET_MUTE:
        case AUDIO_CHANNEL_SELECT:
        case AUDIO_BILINGUAL_CHANNEL_SELECT:
+#endif
                return ivtv_decoder_ioctls(file, cmd, (void *)arg);
 
        default: