} while (0)
 
 /*
- * Internal struct used inside the driver
+ * Internal enums/struct used inside the driver
  */
 
+/**
+ * enum tuner_pad_index - tuner pad index for MEDIA_ENT_F_TUNER
+ *
+ * @TUNER_PAD_RF_INPUT:
+ *     Radiofrequency (RF) sink pad, usually linked to a RF connector entity.
+ * @TUNER_PAD_OUTPUT:
+ *     tuner video output source pad. Contains the video chrominance
+ *     and luminance or the hole bandwidth of the signal converted to
+ *     an Intermediate Frequency (IF) or to baseband (on zero-IF tuners).
+ * @TUNER_PAD_AUD_OUT:
+ *     Tuner audio output source pad. Tuners used to decode analog TV
+ *     signals have an extra pad for audio output. Old tuners use an
+ *     analog stage with a saw filter for the audio IF frequency. The
+ *     output of the pad is, in this case, the audio IF, with should be
+ *     decoded either by the bridge chipset (that's the case of cx2388x
+ *     chipsets) or may require an external IF sound processor, like
+ *     msp34xx. On modern silicon tuners, the audio IF decoder is usually
+ *     incorporated at the tuner. On such case, the output of this pad
+ *     is an audio sampled data.
+ * @TUNER_NUM_PADS:
+ *     Number of pads of the tuner.
+ */
+enum tuner_pad_index {
+       TUNER_PAD_RF_INPUT,
+       TUNER_PAD_OUTPUT,
+       TUNER_PAD_AUD_OUT,
+       TUNER_NUM_PADS
+};
+
+/**
+ * enum if_vid_dec_pad_index - video IF-PLL pad index
+ *     for MEDIA_ENT_F_IF_VID_DECODER
+ *
+ * @IF_VID_DEC_PAD_IF_INPUT:
+ *     video Intermediate Frequency (IF) sink pad
+ * @IF_VID_DEC_PAD_OUT:
+ *     IF-PLL video output source pad. Contains the video chrominance
+ *     and luminance IF signals.
+ * @IF_VID_DEC_PAD_NUM_PADS:
+ *     Number of pads of the video IF-PLL.
+ */
+enum if_vid_dec_pad_index {
+       IF_VID_DEC_PAD_IF_INPUT,
+       IF_VID_DEC_PAD_OUT,
+       IF_VID_DEC_PAD_NUM_PADS
+};
+
 struct tuner {
        /* device */
        struct dvb_frontend fe;
 
 #include <media/v4l2-dev.h>
 #include <linux/types.h>
 
-/**
- * enum tuner_pad_index - tuner pad index for MEDIA_ENT_F_TUNER
- *
- * @TUNER_PAD_RF_INPUT:        Radiofrequency (RF) sink pad, usually linked to a
- *                     RF connector entity.
- * @TUNER_PAD_OUTPUT:  Tuner video output source pad. Contains the video
- *                     chrominance and luminance or the hole bandwidth
- *                     of the signal converted to an Intermediate Frequency
- *                     (IF) or to baseband (on zero-IF tuners).
- * @TUNER_PAD_AUD_OUT: Tuner audio output source pad. Tuners used to decode
- *                     analog TV signals have an extra pad for audio output.
- *                     Old tuners use an analog stage with a saw filter for
- *                     the audio IF frequency. The output of the pad is, in
- *                     this case, the audio IF, with should be decoded either
- *                     by the bridge chipset (that's the case of cx2388x
- *                     chipsets) or may require an external IF sound
- *                     processor, like msp34xx. On modern silicon tuners,
- *                     the audio IF decoder is usually incorporated at the
- *                     tuner. On such case, the output of this pad is an
- *                     audio sampled data.
- * @TUNER_NUM_PADS:    Number of pads of the tuner.
- */
-enum tuner_pad_index {
-       TUNER_PAD_RF_INPUT,
-       TUNER_PAD_OUTPUT,
-       TUNER_PAD_AUD_OUT,
-       TUNER_NUM_PADS
-};
-
-/**
- * enum if_vid_dec_pad_index - video IF-PLL pad index for
- *                        MEDIA_ENT_F_IF_VID_DECODER
- *
- * @IF_VID_DEC_PAD_IF_INPUT:   video Intermediate Frequency (IF) sink pad
- * @IF_VID_DEC_PAD_OUT:                IF-PLL video output source pad. Contains the
- *                             video chrominance and luminance IF signals.
- * @IF_VID_DEC_PAD_NUM_PADS:   Number of pads of the video IF-PLL.
- */
-enum if_vid_dec_pad_index {
-       IF_VID_DEC_PAD_IF_INPUT,
-       IF_VID_DEC_PAD_OUT,
-       IF_VID_DEC_PAD_NUM_PADS
-};
-
-/**
- * enum if_aud_dec_pad_index - audio/sound IF-PLL pad index for
- *                        MEDIA_ENT_F_IF_AUD_DECODER
- *
- * @IF_AUD_DEC_PAD_IF_INPUT:   audio Intermediate Frequency (IF) sink pad
- * @IF_AUD_DEC_PAD_OUT:                IF-PLL audio output source pad. Contains the
- *                             audio sampled stream data, usually connected
- *                             to the bridge bus via an Inter-IC Sound (I2S)
- *                             bus.
- * @IF_AUD_DEC_PAD_NUM_PADS:   Number of pads of the audio IF-PLL.
- */
-enum if_aud_dec_pad_index {
-       IF_AUD_DEC_PAD_IF_INPUT,
-       IF_AUD_DEC_PAD_OUT,
-       IF_AUD_DEC_PAD_NUM_PADS
-};
-
-/**
- * enum demod_pad_index - analog TV pad index for MEDIA_ENT_F_ATV_DECODER
- *
- * @DEMOD_PAD_IF_INPUT:        IF input sink pad.
- * @DEMOD_PAD_VID_OUT: Video output source pad.
- * @DEMOD_PAD_AUDIO_OUT: Audio output source pad.
- * @DEMOD_NUM_PADS:    Maximum number of output pads.
- */
-enum demod_pad_index {
-       DEMOD_PAD_IF_INPUT,
-       DEMOD_PAD_VID_OUT,
-       DEMOD_PAD_AUDIO_OUT,
-       DEMOD_NUM_PADS
-};
-
 /* We don't need to include pci.h or usb.h here */
 struct pci_dev;
 struct usb_device;