Browse Source

V4L/DVB (10955): cx231xx: CodingStyle automatic fixes with Lindent

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab 16 years ago
parent
commit
84b5dbf39e

+ 129 - 126
drivers/media/video/cx231xx/cx231xx-audio.c

@@ -58,21 +58,20 @@ static int cx231xx_isoc_audio_deinit(struct cx231xx *dev)
 
 	dprintk("Stopping isoc\n");
 
-
 	for (i = 0; i < CX231XX_AUDIO_BUFS; i++) {
-        if(dev->adev.urb[i]) {
-            if (!irqs_disabled())
-			    usb_kill_urb(dev->adev.urb[i]);
-		    else
-		        usb_unlink_urb(dev->adev.urb[i]);
+		if (dev->adev.urb[i]) {
+			if (!irqs_disabled())
+				usb_kill_urb(dev->adev.urb[i]);
+			else
+				usb_unlink_urb(dev->adev.urb[i]);
 
-		    usb_free_urb(dev->adev.urb[i]);
-		    dev->adev.urb[i] = NULL;
+			usb_free_urb(dev->adev.urb[i]);
+			dev->adev.urb[i] = NULL;
 
-            kfree(dev->adev.transfer_buffer[i]);
-		    dev->adev.transfer_buffer[i] = NULL;
+			kfree(dev->adev.transfer_buffer[i]);
+			dev->adev.transfer_buffer[i] = NULL;
 
-        }
+		}
 	}
 
 	return 0;
@@ -80,27 +79,27 @@ static int cx231xx_isoc_audio_deinit(struct cx231xx *dev)
 
 static void cx231xx_audio_isocirq(struct urb *urb)
 {
-	struct cx231xx            *dev = urb->context;
-	int                      i;
-	unsigned int             oldptr;
-	int                      period_elapsed = 0;
-	int                      status;
-	unsigned char            *cp;
-	unsigned int             stride;
+	struct cx231xx *dev = urb->context;
+	int i;
+	unsigned int oldptr;
+	int period_elapsed = 0;
+	int status;
+	unsigned char *cp;
+	unsigned int stride;
 	struct snd_pcm_substream *substream;
-	struct snd_pcm_runtime   *runtime;
-
-    switch (urb->status) {
-	    case 0:             /* success */
-	    case -ETIMEDOUT:    /* NAK */
-		    break;
-	    case -ECONNRESET:   /* kill */
-	    case -ENOENT:
-	    case -ESHUTDOWN:
-		    return;
-	    default:            /* error */
-		    dprintk("urb completition error %d.\n", urb->status);
-		    break;
+	struct snd_pcm_runtime *runtime;
+
+	switch (urb->status) {
+	case 0:		/* success */
+	case -ETIMEDOUT:	/* NAK */
+		break;
+	case -ECONNRESET:	/* kill */
+	case -ENOENT:
+	case -ESHUTDOWN:
+		return;
+	default:		/* error */
+		dprintk("urb completition error %d.\n", urb->status);
+		break;
 	}
 
 	if (dev->adev.capture_pcm_substream) {
@@ -145,7 +144,6 @@ static void cx231xx_audio_isocirq(struct urb *urb)
 				    runtime->period_size;
 				period_elapsed = 1;
 			}
-
 			snd_pcm_stream_unlock(substream);
 		}
 		if (period_elapsed)
@@ -156,19 +154,19 @@ static void cx231xx_audio_isocirq(struct urb *urb)
 	status = usb_submit_urb(urb, GFP_ATOMIC);
 	if (status < 0) {
 		cx231xx_errdev("resubmit of audio urb failed (error=%i)\n",
-			      status);
+			       status);
 	}
 	return;
 }
 
 static int cx231xx_init_audio_isoc(struct cx231xx *dev)
 {
-	int       i, errCode;
-	int       sb_size;
+	int i, errCode;
+	int sb_size;
 
-    cx231xx_info("%s: Starting AUDIO transfers\n",__func__);
+	cx231xx_info("%s: Starting AUDIO transfers\n", __func__);
 
-    sb_size = CX231XX_NUM_AUDIO_PACKETS * dev->adev.max_pkt_size;
+	sb_size = CX231XX_NUM_AUDIO_PACKETS * dev->adev.max_pkt_size;
 
 	for (i = 0; i < CX231XX_AUDIO_BUFS; i++) {
 		struct urb *urb;
@@ -191,7 +189,8 @@ static int cx231xx_init_audio_isoc(struct cx231xx *dev)
 
 		urb->dev = dev->udev;
 		urb->context = dev;
-		urb->pipe = usb_rcvisocpipe(dev->udev, dev->adev.end_point_addr);
+		urb->pipe =
+		    usb_rcvisocpipe(dev->udev, dev->adev.end_point_addr);
 		urb->transfer_flags = URB_ISO_ASAP;
 		urb->transfer_buffer = dev->adev.transfer_buffer[i];
 		urb->interval = 1;
@@ -200,10 +199,9 @@ static int cx231xx_init_audio_isoc(struct cx231xx *dev)
 		urb->transfer_buffer_length = sb_size;
 
 		for (j = k = 0; j < CX231XX_NUM_AUDIO_PACKETS;
-			     j++, k += dev->adev.max_pkt_size) {
+		     j++, k += dev->adev.max_pkt_size) {
 			urb->iso_frame_desc[j].offset = k;
-			urb->iso_frame_desc[j].length =
-			    dev->adev.max_pkt_size;
+			urb->iso_frame_desc[j].length = dev->adev.max_pkt_size;
 		}
 		dev->adev.urb[i] = urb;
 	}
@@ -221,11 +219,11 @@ static int cx231xx_init_audio_isoc(struct cx231xx *dev)
 
 static int cx231xx_cmd(struct cx231xx *dev, int cmd, int arg)
 {
-	dprintk("%s transfer\n", (dev->adev.capture_stream == STREAM_ON)?
-				 "stop" : "start");
+	dprintk("%s transfer\n", (dev->adev.capture_stream == STREAM_ON) ?
+		"stop" : "start");
 
 	switch (cmd) {
-    case CX231XX_CAPTURE_STREAM_EN:
+	case CX231XX_CAPTURE_STREAM_EN:
 		if (dev->adev.capture_stream == STREAM_OFF && arg == 1) {
 			dev->adev.capture_stream = STREAM_ON;
 			cx231xx_init_audio_isoc(dev);
@@ -233,8 +231,8 @@ static int cx231xx_cmd(struct cx231xx *dev, int cmd, int arg)
 			dev->adev.capture_stream = STREAM_OFF;
 			cx231xx_isoc_audio_deinit(dev);
 		} else {
-			cx231xx_errdev( "An underrun very likely occurred. "
-					"Ignoring it.\n");
+			cx231xx_errdev("An underrun very likely occurred. "
+				       "Ignoring it.\n");
 		}
 		return 0;
 	default:
@@ -265,9 +263,8 @@ static int snd_pcm_alloc_vmalloc_buffer(struct snd_pcm_substream *subs,
 
 static struct snd_pcm_hardware snd_cx231xx_hw_capture = {
 	.info = SNDRV_PCM_INFO_BLOCK_TRANSFER |
-		SNDRV_PCM_INFO_MMAP           |
-		SNDRV_PCM_INFO_INTERLEAVED    |
-		SNDRV_PCM_INFO_MMAP_VALID,
+	    SNDRV_PCM_INFO_MMAP |
+	    SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP_VALID,
 
 	.formats = SNDRV_PCM_FMTBIT_S16_LE,
 
@@ -278,10 +275,10 @@ static struct snd_pcm_hardware snd_cx231xx_hw_capture = {
 	.channels_min = 2,
 	.channels_max = 2,
 	.buffer_bytes_max = 62720 * 8,	/* just about the value in usbaudio.c */
-	.period_bytes_min = 64,		    /* 12544/2, */
+	.period_bytes_min = 64,	/* 12544/2, */
 	.period_bytes_max = 12544,
 	.periods_min = 2,
-	.periods_max = 98,		        /* 12544, */
+	.periods_max = 98,	/* 12544, */
 };
 
 static int snd_cx231xx_capture_open(struct snd_pcm_substream *substream)
@@ -294,29 +291,29 @@ static int snd_cx231xx_capture_open(struct snd_pcm_substream *substream)
 
 	if (!dev) {
 		cx231xx_errdev("BUG: cx231xx can't find device struct."
-				" Can't proceed with open\n");
+			       " Can't proceed with open\n");
 		return -ENODEV;
 	}
 
 	/* Sets volume, mute, etc */
 	dev->mute = 0;
 
-    /* set alternate setting for audio interface */
-    ret = cx231xx_set_alt_setting(dev, INDEX_AUDIO, 1); /* 1 - 48000 samples per sec */
-    if (ret < 0) {
-        cx231xx_errdev("failed to set alternate setting !\n");
+	/* set alternate setting for audio interface */
+	ret = cx231xx_set_alt_setting(dev, INDEX_AUDIO, 1);	/* 1 - 48000 samples per sec */
+	if (ret < 0) {
+		cx231xx_errdev("failed to set alternate setting !\n");
 
-        return ret;
-    }
+		return ret;
+	}
 
-    /* inform hardware to start streaming */
-    ret = cx231xx_capture_start(dev, 1, Audio);
+	/* inform hardware to start streaming */
+	ret = cx231xx_capture_start(dev, 1, Audio);
 
 	runtime->hw = snd_cx231xx_hw_capture;
 
-    mutex_lock(&dev->lock);
+	mutex_lock(&dev->lock);
 	dev->adev.users++;
-    mutex_unlock(&dev->lock);
+	mutex_unlock(&dev->lock);
 
 	snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS);
 	dev->adev.capture_pcm_substream = substream;
@@ -327,26 +324,25 @@ static int snd_cx231xx_capture_open(struct snd_pcm_substream *substream)
 
 static int snd_cx231xx_pcm_close(struct snd_pcm_substream *substream)
 {
-    int ret;
+	int ret;
 	struct cx231xx *dev = snd_pcm_substream_chip(substream);
 
-
 	dprintk("closing device\n");
 
-    /* set alternate setting for audio interface */
-    ret = cx231xx_set_alt_setting(dev, INDEX_AUDIO, 0); /* 1 - 48000 samples per sec */
-    if (ret < 0) {
-        cx231xx_errdev("failed to set alternate setting !\n");
+	/* set alternate setting for audio interface */
+	ret = cx231xx_set_alt_setting(dev, INDEX_AUDIO, 0);	/* 1 - 48000 samples per sec */
+	if (ret < 0) {
+		cx231xx_errdev("failed to set alternate setting !\n");
 
-        return ret;
-    }
+		return ret;
+	}
 
-    /* inform hardware to start streaming */
-    ret = cx231xx_capture_start(dev, 0, Audio);
+	/* inform hardware to start streaming */
+	ret = cx231xx_capture_start(dev, 0, Audio);
 
 	dev->mute = 1;
 	mutex_lock(&dev->lock);
-    dev->adev.users--;
+	dev->adev.users--;
 	mutex_unlock(&dev->lock);
 
 	if (dev->adev.users == 0 && dev->adev.shutdown == 1) {
@@ -360,7 +356,7 @@ static int snd_cx231xx_pcm_close(struct snd_pcm_substream *substream)
 }
 
 static int snd_cx231xx_hw_capture_params(struct snd_pcm_substream *substream,
-					struct snd_pcm_hw_params *hw_params)
+					 struct snd_pcm_hw_params *hw_params)
 {
 	unsigned int channels, rate, format;
 	int ret;
@@ -368,7 +364,7 @@ static int snd_cx231xx_hw_capture_params(struct snd_pcm_substream *substream,
 	dprintk("Setting capture parameters\n");
 
 	ret = snd_pcm_alloc_vmalloc_buffer(substream,
-				params_buffer_bytes(hw_params));
+					   params_buffer_bytes(hw_params));
 	format = params_format(hw_params);
 	rate = params_rate(hw_params);
 	channels = params_channels(hw_params);
@@ -397,45 +393,45 @@ static int snd_cx231xx_prepare(struct snd_pcm_substream *substream)
 }
 
 static int snd_cx231xx_capture_trigger(struct snd_pcm_substream *substream,
-				      int cmd)
+				       int cmd)
 {
 	struct cx231xx *dev = snd_pcm_substream_chip(substream);
-    int retval;
+	int retval;
 
+	dprintk("Should %s capture\n", (cmd == SNDRV_PCM_TRIGGER_START) ?
+		"start" : "stop");
 
-	dprintk("Should %s capture\n", (cmd == SNDRV_PCM_TRIGGER_START)?
-				       "start": "stop");
-
-    spin_lock(&dev->adev.slock);
+	spin_lock(&dev->adev.slock);
 	switch (cmd) {
 	case SNDRV_PCM_TRIGGER_START:
-		cx231xx_cmd(dev, CX231XX_CAPTURE_STREAM_EN, CX231XX_START_AUDIO);
+		cx231xx_cmd(dev, CX231XX_CAPTURE_STREAM_EN,
+			    CX231XX_START_AUDIO);
 		retval = 0;
 		break;
 	case SNDRV_PCM_TRIGGER_STOP:
-        cx231xx_cmd(dev, CX231XX_CAPTURE_STREAM_EN, CX231XX_STOP_AUDIO);
+		cx231xx_cmd(dev, CX231XX_CAPTURE_STREAM_EN, CX231XX_STOP_AUDIO);
 		retval = 0;
-        break;
+		break;
 	default:
 		retval = -EINVAL;
 	}
 
-    spin_unlock(&dev->adev.slock);
+	spin_unlock(&dev->adev.slock);
 	return retval;
 }
 
 static snd_pcm_uframes_t snd_cx231xx_capture_pointer(struct snd_pcm_substream
-						    *substream)
+						     *substream)
 {
 	struct cx231xx *dev;
-    unsigned long flags;
+	unsigned long flags;
 	snd_pcm_uframes_t hwptr_done;
 
 	dev = snd_pcm_substream_chip(substream);
 
-    spin_lock_irqsave(&dev->adev.slock, flags);
+	spin_lock_irqsave(&dev->adev.slock, flags);
 	hwptr_done = dev->adev.hwptr_done_capture;
-    spin_unlock_irqrestore(&dev->adev.slock, flags);
+	spin_unlock_irqrestore(&dev->adev.slock, flags);
 
 	return hwptr_done;
 }
@@ -449,26 +445,26 @@ static struct page *snd_pcm_get_vmalloc_page(struct snd_pcm_substream *subs,
 }
 
 static struct snd_pcm_ops snd_cx231xx_pcm_capture = {
-	.open      = snd_cx231xx_capture_open,
-	.close     = snd_cx231xx_pcm_close,
-	.ioctl     = snd_pcm_lib_ioctl,
+	.open = snd_cx231xx_capture_open,
+	.close = snd_cx231xx_pcm_close,
+	.ioctl = snd_pcm_lib_ioctl,
 	.hw_params = snd_cx231xx_hw_capture_params,
-	.hw_free   = snd_cx231xx_hw_capture_free,
-	.prepare   = snd_cx231xx_prepare,
-	.trigger   = snd_cx231xx_capture_trigger,
-	.pointer   = snd_cx231xx_capture_pointer,
-	.page      = snd_pcm_get_vmalloc_page,
+	.hw_free = snd_cx231xx_hw_capture_free,
+	.prepare = snd_cx231xx_prepare,
+	.trigger = snd_cx231xx_capture_trigger,
+	.pointer = snd_cx231xx_capture_pointer,
+	.page = snd_pcm_get_vmalloc_page,
 };
 
 static int cx231xx_audio_init(struct cx231xx *dev)
 {
 	struct cx231xx_audio *adev = &dev->adev;
-	struct snd_pcm      *pcm;
-	struct snd_card     *card;
-	static int          devnr;
-	int                 err;
-    struct usb_interface *uif;
-    int i, isoc_pipe = 0;
+	struct snd_pcm *pcm;
+	struct snd_card *card;
+	static int devnr;
+	int err;
+	struct usb_interface *uif;
+	int i, isoc_pipe = 0;
 
 	if (dev->has_alsa_audio != 1) {
 		/* This device does not support the extension (in this case
@@ -478,7 +474,7 @@ static int cx231xx_audio_init(struct cx231xx *dev)
 	}
 
 	cx231xx_info("cx231xx-audio.c: probing for cx231xx "
-			 "non standard usbaudio\n");
+		     "non standard usbaudio\n");
 
 	card = snd_card_new(index[devnr], "Cx231xx Audio", THIS_MODULE, 0);
 	if (card == NULL) {
@@ -492,7 +488,8 @@ static int cx231xx_audio_init(struct cx231xx *dev)
 		return err;
 	}
 
-	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx231xx_pcm_capture);
+	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE,
+			&snd_cx231xx_pcm_capture);
 	pcm->info_flags = 0;
 	pcm->private_data = dev;
 	strcpy(pcm->name, "Conexant cx231xx Capture");
@@ -508,29 +505,35 @@ static int cx231xx_audio_init(struct cx231xx *dev)
 	adev->sndcard = card;
 	adev->udev = dev->udev;
 
-    /* compute alternate max packet sizes for Audio */
-    uif = dev->udev->actconfig->interface[dev->current_pcb_config.hs_config_info[0].interface_info.audio_index+1];
+	/* compute alternate max packet sizes for Audio */
+	uif =
+	    dev->udev->actconfig->interface[dev->current_pcb_config.
+					    hs_config_info[0].interface_info.
+					    audio_index + 1];
 
-    adev->end_point_addr = le16_to_cpu(uif->altsetting[0].endpoint[isoc_pipe].desc.bEndpointAddress);
+	adev->end_point_addr =
+	    le16_to_cpu(uif->altsetting[0].endpoint[isoc_pipe].desc.
+			bEndpointAddress);
 
-    adev->num_alt = uif->num_altsetting;
-    cx231xx_info(": EndPoint Addr 0x%x, Alternate settings: %i\n", adev->end_point_addr,
-                                    adev->num_alt);
-    adev->alt_max_pkt_size = kmalloc(32 * adev->num_alt, GFP_KERNEL);
+	adev->num_alt = uif->num_altsetting;
+	cx231xx_info(": EndPoint Addr 0x%x, Alternate settings: %i\n",
+		     adev->end_point_addr, adev->num_alt);
+	adev->alt_max_pkt_size = kmalloc(32 * adev->num_alt, GFP_KERNEL);
 
-    if (adev->alt_max_pkt_size == NULL) {
-        cx231xx_errdev("out of memory!\n");
-        return -ENOMEM;
-    }
+	if (adev->alt_max_pkt_size == NULL) {
+		cx231xx_errdev("out of memory!\n");
+		return -ENOMEM;
+	}
 
-    for (i = 0; i < adev->num_alt ; i++) {
-        u16 tmp = le16_to_cpu(uif->altsetting[i].endpoint[isoc_pipe].desc.
-					        wMaxPacketSize);
-        adev->alt_max_pkt_size[i] =
-            (tmp & 0x07ff) * (((tmp & 0x1800) >> 11) + 1);
-        cx231xx_info("Alternate setting %i, max size= %i\n", i,
-				        adev->alt_max_pkt_size[i]);
-    }
+	for (i = 0; i < adev->num_alt; i++) {
+		u16 tmp =
+		    le16_to_cpu(uif->altsetting[i].endpoint[isoc_pipe].desc.
+				wMaxPacketSize);
+		adev->alt_max_pkt_size[i] =
+		    (tmp & 0x07ff) * (((tmp & 0x1800) >> 11) + 1);
+		cx231xx_info("Alternate setting %i, max size= %i\n", i,
+			     adev->alt_max_pkt_size[i]);
+	}
 
 	return 0;
 }
@@ -549,7 +552,7 @@ static int cx231xx_audio_fini(struct cx231xx *dev)
 
 	if (dev->adev.sndcard) {
 		snd_card_free(dev->adev.sndcard);
-        kfree(dev->adev.alt_max_pkt_size);
+		kfree(dev->adev.alt_max_pkt_size);
 		dev->adev.sndcard = NULL;
 	}
 
@@ -557,7 +560,7 @@ static int cx231xx_audio_fini(struct cx231xx *dev)
 }
 
 static struct cx231xx_ops audio_ops = {
-    .id   = CX231XX_AUDIO,
+	.id = CX231XX_AUDIO,
 	.name = "Cx231xx Audio Extension",
 	.init = cx231xx_audio_init,
 	.fini = cx231xx_audio_fini,

File diff suppressed because it is too large
+ 929 - 621
drivers/media/video/cx231xx/cx231xx-avcore.c


File diff suppressed because it is too large
+ 507 - 454
drivers/media/video/cx231xx/cx231xx-cards.c


+ 64 - 68
drivers/media/video/cx231xx/cx231xx-conf-reg.h

@@ -1,6 +1,6 @@
 /*
    cx231xx_conf-reg.h - driver for Conexant Cx23100/101/102 USB
-                        video capture devices
+			video capture devices
 
    Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
 
@@ -19,7 +19,6 @@
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-
 #ifndef _POLARIS_REG_H_
 #define _POLARIS_REG_H_
 
@@ -43,30 +42,30 @@
 #define PWR_CTL_EN              0x74
 
 /* Polaris Endpoints capture mask for register EP_MODE_SET */
-#define ENABLE_EP1              0x01    /* Bit[0]=1 */
-#define ENABLE_EP2              0x02    /* Bit[1]=1 */
-#define ENABLE_EP3              0x04    /* Bit[2]=1 */
-#define ENABLE_EP4              0x08    /* Bit[3]=1 */
-#define ENABLE_EP5              0x10    /* Bit[4]=1 */
-#define ENABLE_EP6              0x20    /* Bit[5]=1 */
+#define ENABLE_EP1              0x01	/* Bit[0]=1 */
+#define ENABLE_EP2              0x02	/* Bit[1]=1 */
+#define ENABLE_EP3              0x04	/* Bit[2]=1 */
+#define ENABLE_EP4              0x08	/* Bit[3]=1 */
+#define ENABLE_EP5              0x10	/* Bit[4]=1 */
+#define ENABLE_EP6              0x20	/* Bit[5]=1 */
 
 /* Bit definition for register PWR_CTL_EN */
 #define PWR_MODE_MASK           0x17f
-#define PWR_AV_EN               0x08    /* bit3 */
-#define PWR_ISO_EN              0x40    /* bit6 */
-#define PWR_AV_MODE             0x30    /* bit4,5  */
-#define PWR_TUNER_EN            0x04    /* bit2 */
-#define PWR_DEMOD_EN            0x02    /* bit1 */
-#define I2C_DEMOD_EN            0x01    /* bit0 */
-#define PWR_RESETOUT_EN         0x100   /* bit8 */
-
-typedef enum{
-     POLARIS_AVMODE_DEFAULT         = 0,
-     POLARIS_AVMODE_DIGITAL         = 0x10,
-     POLARIS_AVMODE_ANALOGT_TV      = 0x20,
-     POLARIS_AVMODE_ENXTERNAL_AV    = 0x30,
-
-}AV_MODE;
+#define PWR_AV_EN               0x08	/* bit3 */
+#define PWR_ISO_EN              0x40	/* bit6 */
+#define PWR_AV_MODE             0x30	/* bit4,5  */
+#define PWR_TUNER_EN            0x04	/* bit2 */
+#define PWR_DEMOD_EN            0x02	/* bit1 */
+#define I2C_DEMOD_EN            0x01	/* bit0 */
+#define PWR_RESETOUT_EN         0x100	/* bit8 */
+
+typedef enum {
+	POLARIS_AVMODE_DEFAULT = 0,
+	POLARIS_AVMODE_DIGITAL = 0x10,
+	POLARIS_AVMODE_ANALOGT_TV = 0x20,
+	POLARIS_AVMODE_ENXTERNAL_AV = 0x30,
+
+} AV_MODE;
 
 /* Colibri Registers */
 
@@ -75,8 +74,6 @@ typedef enum{
 #define EU_IF                   0x9
 #define US_IF                   0xa
 
-
-
 #define SUP_BLK_TUNE1           0x00
 #define SUP_BLK_TUNE2           0x01
 #define SUP_BLK_TUNE3           0x02
@@ -129,7 +126,7 @@ typedef enum{
 #define ADC_INPUT_CH1           0x28
 #define ADC_INPUT_CH2           0x48
 #define ADC_INPUT_CH3           0x68
-#define INPUT_SEL_MASK          0x30    /* [5:4] in_sel */
+#define INPUT_SEL_MASK          0x30	/* [5:4] in_sel */
 
 #define ADC_NTF_PRECLMP_EN_CH1  0x29
 #define ADC_NTF_PRECLMP_EN_CH2  0x49
@@ -148,12 +145,12 @@ typedef enum{
 #define TESTBUS_CTRL_CH3        0x72
 
 /******************************************************************************
-                            * DIF registers *
+			    * DIF registers *
  ******************************************************************************/
 #define      DIRECT_IF_REVB_BASE  0x00300
 
 /*****************************************************************************/
-#define      DIF_PLL_FREQ_WORD        (DIRECT_IF_REVB_BASE + 0x00000000)  /* Reg Size 32 */
+#define      DIF_PLL_FREQ_WORD        (DIRECT_IF_REVB_BASE + 0x00000000)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_PLL_LOCK                           0x80000000
 /*  Reserved                                [30:29] */
@@ -161,7 +158,7 @@ typedef enum{
 #define      FLD_DIF_PLL_FREQ                           0x0FFFFFFF
 
 /*****************************************************************************/
-#define      DIF_PLL_CTRL             (DIRECT_IF_REVB_BASE + 0x00000004)  /* Reg Size 32 */
+#define      DIF_PLL_CTRL             (DIRECT_IF_REVB_BASE + 0x00000004)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_KD_PD                              0xFF000000
 /*  Reserved                             [23:20] */
@@ -171,7 +168,7 @@ typedef enum{
 #define      FLD_DIF_KIS_PD                             0x0000000F
 
 /*****************************************************************************/
-#define      DIF_PLL_CTRL1            (DIRECT_IF_REVB_BASE + 0x00000008)  /* Reg Size 32 */
+#define      DIF_PLL_CTRL1            (DIRECT_IF_REVB_BASE + 0x00000008)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_KD_FD                              0xFF000000
 /*  Reserved                             [23:20] */
@@ -181,7 +178,7 @@ typedef enum{
 #define      FLD_DIF_KIS_FD                             0x0000000F
 
 /*****************************************************************************/
-#define      DIF_PLL_CTRL2            (DIRECT_IF_REVB_BASE + 0x0000000C)  /* Reg Size 32 */
+#define      DIF_PLL_CTRL2            (DIRECT_IF_REVB_BASE + 0x0000000C)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_PLL_AGC_REF                        0xFFF00000
 #define      FLD_DIF_PLL_AGC_KI                         0x000F0000
@@ -191,7 +188,7 @@ typedef enum{
 #define      FLD_DIF_DOWNSMPL_FD                        0x000000FF
 
 /*****************************************************************************/
-#define      DIF_PLL_CTRL3            (DIRECT_IF_REVB_BASE + 0x00000010)  /* Reg Size 32 */
+#define      DIF_PLL_CTRL3            (DIRECT_IF_REVB_BASE + 0x00000010)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:16] */
 #define      FLD_DIF_PLL_AGC_EN                         0x00008000
@@ -199,7 +196,7 @@ typedef enum{
 #define      FLD_DIF_PLL_MAN_GAIN                       0x00000FFF
 
 /*****************************************************************************/
-#define      DIF_AGC_IF_REF           (DIRECT_IF_REVB_BASE + 0x00000014)  /* Reg Size 32 */
+#define      DIF_AGC_IF_REF           (DIRECT_IF_REVB_BASE + 0x00000014)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_K_AGC_RF                           0xF0000000
 #define      FLD_DIF_K_AGC_IF                           0x0F000000
@@ -208,40 +205,40 @@ typedef enum{
 #define      FLD_DIF_IF_REF                             0x00000FFF
 
 /*****************************************************************************/
-#define      DIF_AGC_CTRL_IF          (DIRECT_IF_REVB_BASE + 0x00000018)  /* Reg Size 32 */
+#define      DIF_AGC_CTRL_IF          (DIRECT_IF_REVB_BASE + 0x00000018)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_IF_MAX                             0xFF000000
 #define      FLD_DIF_IF_MIN                             0x00FF0000
 #define      FLD_DIF_IF_AGC                             0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_AGC_CTRL_INT         (DIRECT_IF_REVB_BASE + 0x0000001C)  /* Reg Size 32 */
+#define      DIF_AGC_CTRL_INT         (DIRECT_IF_REVB_BASE + 0x0000001C)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_INT_MAX                            0xFF000000
 #define      FLD_DIF_INT_MIN                            0x00FF0000
 #define      FLD_DIF_INT_AGC                            0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_AGC_CTRL_RF          (DIRECT_IF_REVB_BASE + 0x00000020)  /* Reg Size 32 */
+#define      DIF_AGC_CTRL_RF          (DIRECT_IF_REVB_BASE + 0x00000020)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_RF_MAX                             0xFF000000
 #define      FLD_DIF_RF_MIN                             0x00FF0000
 #define      FLD_DIF_RF_AGC                             0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_AGC_IF_INT_CURRENT   (DIRECT_IF_REVB_BASE + 0x00000024)  /* Reg Size 32 */
+#define      DIF_AGC_IF_INT_CURRENT   (DIRECT_IF_REVB_BASE + 0x00000024)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_IF_AGC_IN                          0xFFFF0000
 #define      FLD_DIF_INT_AGC_IN                         0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_AGC_RF_CURRENT       (DIRECT_IF_REVB_BASE + 0x00000028)  /* Reg Size 32 */
+#define      DIF_AGC_RF_CURRENT       (DIRECT_IF_REVB_BASE + 0x00000028)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                            [31:16] */
 #define      FLD_DIF_RF_AGC_IN                          0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_VIDEO_AGC_CTRL       (DIRECT_IF_REVB_BASE + 0x0000002C)  /* Reg Size 32 */
+#define      DIF_VIDEO_AGC_CTRL       (DIRECT_IF_REVB_BASE + 0x0000002C)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_AFD                                0xC0000000
 #define      FLD_DIF_K_VID_AGC                          0x30000000
@@ -249,7 +246,7 @@ typedef enum{
 #define      FLD_DIF_AGC_GAIN                           0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_VID_AUD_OVERRIDE     (DIRECT_IF_REVB_BASE + 0x00000030)  /* Reg Size 32 */
+#define      DIF_VID_AUD_OVERRIDE     (DIRECT_IF_REVB_BASE + 0x00000030)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_AUDIO_AGC_OVERRIDE                 0x80000000
 /*  Reserved                             [30:30] */
@@ -259,14 +256,14 @@ typedef enum{
 #define      FLD_DIF_VID_MAN_GAIN                       0x0000FFFF
 
 /*****************************************************************************/
-#define      DIF_AV_SEP_CTRL          (DIRECT_IF_REVB_BASE + 0x00000034)  /* Reg Size 32 */
+#define      DIF_AV_SEP_CTRL          (DIRECT_IF_REVB_BASE + 0x00000034)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_LPF_FREQ                           0xC0000000
 #define      FLD_DIF_AV_PHASE_INC                       0x3F000000
 #define      FLD_DIF_AUDIO_FREQ                         0x00FFFFFF
 
 /*****************************************************************************/
-#define      DIF_COMP_FLT_CTRL        (DIRECT_IF_REVB_BASE + 0x00000038)  /* Reg Size 32 */
+#define      DIF_COMP_FLT_CTRL        (DIRECT_IF_REVB_BASE + 0x00000038)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                            [31:24] */
 #define      FLD_DIF_IIR23_R2                           0x00FF0000
@@ -274,7 +271,7 @@ typedef enum{
 #define      FLD_DIF_IIR1_R1                            0x000000FF
 
 /*****************************************************************************/
-#define      DIF_MISC_CTRL            (DIRECT_IF_REVB_BASE + 0x0000003C)  /* Reg Size 32 */
+#define      DIF_MISC_CTRL            (DIRECT_IF_REVB_BASE + 0x0000003C)	/* Reg Size 32 */
 /*****************************************************************************/
 #define      FLD_DIF_DIF_BYPASS                         0x80000000
 #define      FLD_DIF_FM_NYQ_GAIN                        0x40000000
@@ -299,20 +296,20 @@ typedef enum{
 #define      FLD_DIF_RF_IF_LOCK                         0x00000001
 
 /*****************************************************************************/
-#define      DIF_SRC_PHASE_INC        (DIRECT_IF_REVB_BASE + 0x00000040)  /* Reg Size 32 */
+#define      DIF_SRC_PHASE_INC        (DIRECT_IF_REVB_BASE + 0x00000040)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:29] */
 #define      FLD_DIF_PHASE_INC                          0x1FFFFFFF
 
 /*****************************************************************************/
-#define      DIF_SRC_GAIN_CONTROL     (DIRECT_IF_REVB_BASE + 0x00000044)  /* Reg Size 32 */
+#define      DIF_SRC_GAIN_CONTROL     (DIRECT_IF_REVB_BASE + 0x00000044)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:16] */
 #define      FLD_DIF_SRC_KI                             0x0000FF00
 #define      FLD_DIF_SRC_KD                             0x000000FF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF01          (DIRECT_IF_REVB_BASE + 0x00000048)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF01          (DIRECT_IF_REVB_BASE + 0x00000048)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:19] */
 #define      FLD_DIF_BPF_COEFF_0                        0x00070000
@@ -320,7 +317,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_1                        0x0000000F
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF23          (DIRECT_IF_REVB_BASE + 0x0000004c)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF23          (DIRECT_IF_REVB_BASE + 0x0000004c)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:22] */
 #define      FLD_DIF_BPF_COEFF_2                        0x003F0000
@@ -328,7 +325,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_3                        0x0000007F
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF45          (DIRECT_IF_REVB_BASE + 0x00000050)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF45          (DIRECT_IF_REVB_BASE + 0x00000050)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:24] */
 #define      FLD_DIF_BPF_COEFF_4                        0x00FF0000
@@ -336,7 +333,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_5                        0x000000FF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF67          (DIRECT_IF_REVB_BASE + 0x00000054)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF67          (DIRECT_IF_REVB_BASE + 0x00000054)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:25] */
 #define      FLD_DIF_BPF_COEFF_6                        0x01FF0000
@@ -344,7 +341,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_7                        0x000001FF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF89          (DIRECT_IF_REVB_BASE + 0x00000058)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF89          (DIRECT_IF_REVB_BASE + 0x00000058)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:26] */
 #define      FLD_DIF_BPF_COEFF_8                        0x03FF0000
@@ -352,7 +349,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_9                        0x000003FF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF1011        (DIRECT_IF_REVB_BASE + 0x0000005C)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF1011        (DIRECT_IF_REVB_BASE + 0x0000005C)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:27] */
 #define      FLD_DIF_BPF_COEFF_10                       0x07FF0000
@@ -360,7 +357,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_11                       0x000007FF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF1213        (DIRECT_IF_REVB_BASE + 0x00000060)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF1213        (DIRECT_IF_REVB_BASE + 0x00000060)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:27] */
 #define      FLD_DIF_BPF_COEFF_12                       0x07FF0000
@@ -368,7 +365,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_13                       0x00000FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF1415        (DIRECT_IF_REVB_BASE + 0x00000064)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF1415        (DIRECT_IF_REVB_BASE + 0x00000064)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:28] */
 #define      FLD_DIF_BPF_COEFF_14                       0x0FFF0000
@@ -376,7 +373,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_15                       0x00000FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF1617        (DIRECT_IF_REVB_BASE + 0x00000068)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF1617        (DIRECT_IF_REVB_BASE + 0x00000068)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:29] */
 #define      FLD_DIF_BPF_COEFF_16                       0x1FFF0000
@@ -384,7 +381,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_17                       0x00001FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF1819        (DIRECT_IF_REVB_BASE + 0x0000006C)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF1819        (DIRECT_IF_REVB_BASE + 0x0000006C)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:29] */
 #define      FLD_DIF_BPF_COEFF_18                       0x1FFF0000
@@ -392,7 +389,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_19                       0x00001FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF2021        (DIRECT_IF_REVB_BASE + 0x00000070)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF2021        (DIRECT_IF_REVB_BASE + 0x00000070)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:29] */
 #define      FLD_DIF_BPF_COEFF_20                       0x1FFF0000
@@ -400,7 +397,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_21                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF2223        (DIRECT_IF_REVB_BASE + 0x00000074)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF2223        (DIRECT_IF_REVB_BASE + 0x00000074)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_22                       0x3FFF0000
@@ -408,7 +405,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_23                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF2425        (DIRECT_IF_REVB_BASE + 0x00000078)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF2425        (DIRECT_IF_REVB_BASE + 0x00000078)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_24                       0x3FFF0000
@@ -416,7 +413,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_25                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF2627        (DIRECT_IF_REVB_BASE + 0x0000007C)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF2627        (DIRECT_IF_REVB_BASE + 0x0000007C)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_26                       0x3FFF0000
@@ -424,7 +421,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_27                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF2829        (DIRECT_IF_REVB_BASE + 0x00000080)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF2829        (DIRECT_IF_REVB_BASE + 0x00000080)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_28                       0x3FFF0000
@@ -432,7 +429,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_29                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF3031        (DIRECT_IF_REVB_BASE + 0x00000084)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF3031        (DIRECT_IF_REVB_BASE + 0x00000084)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_30                       0x3FFF0000
@@ -440,7 +437,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_31                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF3233        (DIRECT_IF_REVB_BASE + 0x00000088)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF3233        (DIRECT_IF_REVB_BASE + 0x00000088)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_32                       0x3FFF0000
@@ -448,7 +445,7 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_33                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF3435        (DIRECT_IF_REVB_BASE + 0x0000008C)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF3435        (DIRECT_IF_REVB_BASE + 0x0000008C)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_34                       0x3FFF0000
@@ -456,20 +453,20 @@ typedef enum{
 #define      FLD_DIF_BPF_COEFF_35                       0x00003FFF
 
 /*****************************************************************************/
-#define      DIF_BPF_COEFF36          (DIRECT_IF_REVB_BASE + 0x00000090)  /* Reg Size 32 */
+#define      DIF_BPF_COEFF36          (DIRECT_IF_REVB_BASE + 0x00000090)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:30] */
 #define      FLD_DIF_BPF_COEFF_36                       0x3FFF0000
 /*  Reserved                             [15:0] */
 
 /*****************************************************************************/
-#define      DIF_RPT_VARIANCE         (DIRECT_IF_REVB_BASE + 0x00000094)  /* Reg Size 32 */
+#define      DIF_RPT_VARIANCE         (DIRECT_IF_REVB_BASE + 0x00000094)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:20] */
 #define      FLD_DIF_RPT_VARIANCE                       0x000FFFFF
 
 /*****************************************************************************/
-#define      DIF_SOFT_RST_CTRL_REVB       (DIRECT_IF_REVB_BASE + 0x00000098)  /* Reg Size 32 */
+#define      DIF_SOFT_RST_CTRL_REVB       (DIRECT_IF_REVB_BASE + 0x00000098)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:8] */
 #define      FLD_DIF_DIF_SOFT_RST                       0x00000080
@@ -482,10 +479,9 @@ typedef enum{
 #define      FLD_DIF_PLL_RST_MSK                        0x00000001
 
 /*****************************************************************************/
-#define      DIF_PLL_FREQ_ERR         (DIRECT_IF_REVB_BASE + 0x0000009C)  /* Reg Size 32 */
+#define      DIF_PLL_FREQ_ERR         (DIRECT_IF_REVB_BASE + 0x0000009C)	/* Reg Size 32 */
 /*****************************************************************************/
 /*  Reserved                             [31:25] */
 #define      FLD_DIF_CTL_IP                             0x01FFFFFF
 
-
 #endif

File diff suppressed because it is too large
+ 447 - 410
drivers/media/video/cx231xx/cx231xx-core.c


+ 129 - 135
drivers/media/video/cx231xx/cx231xx-dvb.c

@@ -2,7 +2,7 @@
  DVB device driver for cx231xx
 
  Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on em28xx driver
+	Based on em28xx driver
 
  This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@
 #include "xc5000.h"
 #include "dvb_dummy_fe.h"
 
-
 MODULE_DESCRIPTION("driver for cx231xx based DVB cards");
 MODULE_AUTHOR("Srinivasa Deevi <srinivasa.deevi@conexant.com>");
 MODULE_LICENSE("GPL");
@@ -50,24 +49,22 @@ if (debug >= level) 						\
 #define CX231XX_DVB_MAX_PACKETS 64
 
 struct cx231xx_dvb {
-	struct dvb_frontend        *frontend;
+	struct dvb_frontend *frontend;
 
 	/* feed count management */
-	struct mutex               lock;
-	int                        nfeeds;
+	struct mutex lock;
+	int nfeeds;
 
 	/* general boilerplate stuff */
-	struct dvb_adapter         adapter;
-	struct dvb_demux           demux;
-	struct dmxdev              dmxdev;
-	struct dmx_frontend        fe_hw;
-	struct dmx_frontend        fe_mem;
-	struct dvb_net             net;
+	struct dvb_adapter adapter;
+	struct dvb_demux demux;
+	struct dmxdev dmxdev;
+	struct dmx_frontend fe_hw;
+	struct dmx_frontend fe_mem;
+	struct dvb_net net;
 };
 
-
-static inline void print_err_status(struct cx231xx *dev,
-				     int packet, int status)
+static inline void print_err_status(struct cx231xx *dev, int packet, int status)
 {
 	char *errmsg = "Unknown";
 
@@ -149,8 +146,8 @@ static int start_streaming(struct cx231xx_dvb *dvb)
 		return rc;
 
 	return cx231xx_init_isoc(dev, CX231XX_DVB_MAX_PACKETS,
-				CX231XX_DVB_NUM_BUFS, CX231XX_DVB_MAX_PACKETSIZE,
-				dvb_isoc_copy);
+				 CX231XX_DVB_NUM_BUFS,
+				 CX231XX_DVB_MAX_PACKETSIZE, dvb_isoc_copy);
 }
 
 static int stop_streaming(struct cx231xx_dvb *dvb)
@@ -166,7 +163,7 @@ static int stop_streaming(struct cx231xx_dvb *dvb)
 
 static int start_feed(struct dvb_demux_feed *feed)
 {
-	struct dvb_demux *demux  = feed->demux;
+	struct dvb_demux *demux = feed->demux;
 	struct cx231xx_dvb *dvb = demux->priv;
 	int rc, ret;
 
@@ -189,7 +186,7 @@ static int start_feed(struct dvb_demux_feed *feed)
 
 static int stop_feed(struct dvb_demux_feed *feed)
 {
-	struct dvb_demux *demux  = feed->demux;
+	struct dvb_demux *demux = feed->demux;
 	struct cx231xx_dvb *dvb = demux->priv;
 	int err = 0;
 
@@ -203,8 +200,6 @@ static int stop_feed(struct dvb_demux_feed *feed)
 	return err;
 }
 
-
-
 /* ------------------------------------------------------------------ */
 static int cx231xx_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
 {
@@ -218,13 +213,11 @@ static int cx231xx_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
 
 /* ------------------------------------------------------------------ */
 
-
 static struct xc5000_config cnxt_rde250_tunerconfig = {
-	.i2c_address      = 0x61,
-	.if_khz           = 5380,
+	.i2c_address = 0x61,
+	.if_khz = 5380,
 };
 
-
 /* ------------------------------------------------------------------ */
 #if 0
 static int attach_xc5000(u8 addr, struct cx231xx *dev)
@@ -234,13 +227,12 @@ static int attach_xc5000(u8 addr, struct cx231xx *dev)
 	struct xc5000_config cfg;
 
 	memset(&cfg, 0, sizeof(cfg));
-	cfg.i2c_adap  = &dev->i2c_bus[1].i2c_adap;
-	cfg.i2c_addr  = addr;
+	cfg.i2c_adap = &dev->i2c_bus[1].i2c_adap;
+	cfg.i2c_addr = addr;
 
 	if (!dev->dvb->frontend) {
 		printk(KERN_ERR "%s/2: dvb frontend not attached. "
-				"Can't attach xc5000\n",
-		       dev->name);
+		       "Can't attach xc5000\n", dev->name);
 		return -EINVAL;
 	}
 
@@ -258,65 +250,65 @@ static int attach_xc5000(u8 addr, struct cx231xx *dev)
 }
 #endif
 
-int cx231xx_set_analog_freq(struct cx231xx *dev, u32 freq )
+int cx231xx_set_analog_freq(struct cx231xx *dev, u32 freq)
 {
 	int status = 0;
 
-	if( (dev->dvb != NULL) && (dev->dvb->frontend != NULL) ){
+	if ((dev->dvb != NULL) && (dev->dvb->frontend != NULL)) {
 
-			struct dvb_tuner_ops *dops = &dev->dvb->frontend->ops.tuner_ops;
+		struct dvb_tuner_ops *dops = &dev->dvb->frontend->ops.tuner_ops;
 
-		    if(dops->set_analog_params != NULL) {
-				 struct analog_parameters params;
+		if (dops->set_analog_params != NULL) {
+			struct analog_parameters params;
 
-				 params.frequency = freq;
-				 params.std = dev->norm;
-				 params.mode = 0 ; /* 0- Air; 1 - cable */
-				 /*params.audmode = ;       */
-
-				 /* Set the analog parameters to set the frequency */
-				 cx231xx_info("Setting Frequency for XC5000\n");
-				 dops->set_analog_params(dev->dvb->frontend, &params);
-			}
+			params.frequency = freq;
+			params.std = dev->norm;
+			params.mode = 0;	/* 0- Air; 1 - cable */
+			/*params.audmode = ;       */
 
+			/* Set the analog parameters to set the frequency */
+			cx231xx_info("Setting Frequency for XC5000\n");
+			dops->set_analog_params(dev->dvb->frontend, &params);
 		}
 
+	}
+
 	return status;
 }
 
 int cx231xx_reset_analog_tuner(struct cx231xx *dev)
 {
-    int status = 0;
+	int status = 0;
 
-	if( (dev->dvb != NULL) && (dev->dvb->frontend != NULL) ){
+	if ((dev->dvb != NULL) && (dev->dvb->frontend != NULL)) {
 
-			struct dvb_tuner_ops *dops = &dev->dvb->frontend->ops.tuner_ops;
+		struct dvb_tuner_ops *dops = &dev->dvb->frontend->ops.tuner_ops;
 
-		    if(dops->init != NULL && !dev->xc_fw_load_done) {
+		if (dops->init != NULL && !dev->xc_fw_load_done) {
 
-				 cx231xx_info("Reloading firmware for XC5000\n");
-				 status = dops->init(dev->dvb->frontend);
-                 if(status == 0 ) {
-                    dev->xc_fw_load_done = 1;
-                    cx231xx_info("XC5000 firmware download completed\n");
-                 } else {
-                     dev->xc_fw_load_done = 0;
-                     cx231xx_info("XC5000 firmware download failed !!!\n");
-                 }
+			cx231xx_info("Reloading firmware for XC5000\n");
+			status = dops->init(dev->dvb->frontend);
+			if (status == 0) {
+				dev->xc_fw_load_done = 1;
+				cx231xx_info
+				    ("XC5000 firmware download completed\n");
+			} else {
+				dev->xc_fw_load_done = 0;
+				cx231xx_info
+				    ("XC5000 firmware download failed !!!\n");
 			}
-
 		}
 
+	}
+
 	return status;
 }
 
-
 /* ------------------------------------------------------------------ */
 
 static int register_dvb(struct cx231xx_dvb *dvb,
-		 struct module *module,
-		 struct cx231xx *dev,
-		 struct device *device)
+			struct module *module,
+			struct cx231xx *dev, struct device *device)
 {
 	int result;
 
@@ -326,7 +318,8 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 	result = dvb_register_adapter(&dvb->adapter, dev->name, module, device,
 				      adapter_nr);
 	if (result < 0) {
-		printk(KERN_WARNING "%s: dvb_register_adapter failed (errno = %d)\n",
+		printk(KERN_WARNING
+		       "%s: dvb_register_adapter failed (errno = %d)\n",
 		       dev->name, result);
 		goto fail_adapter;
 	}
@@ -339,20 +332,21 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 	/* register frontend */
 	result = dvb_register_frontend(&dvb->adapter, dvb->frontend);
 	if (result < 0) {
-		printk(KERN_WARNING "%s: dvb_register_frontend failed (errno = %d)\n",
+		printk(KERN_WARNING
+		       "%s: dvb_register_frontend failed (errno = %d)\n",
 		       dev->name, result);
 		goto fail_frontend;
 	}
 
 	/* register demux stuff */
 	dvb->demux.dmx.capabilities =
-		DMX_TS_FILTERING | DMX_SECTION_FILTERING |
-		DMX_MEMORY_BASED_FILTERING;
-	dvb->demux.priv       = dvb;
-	dvb->demux.filternum  = 256;
-	dvb->demux.feednum    = 256;
+	    DMX_TS_FILTERING | DMX_SECTION_FILTERING |
+	    DMX_MEMORY_BASED_FILTERING;
+	dvb->demux.priv = dvb;
+	dvb->demux.filternum = 256;
+	dvb->demux.feednum = 256;
 	dvb->demux.start_feed = start_feed;
-	dvb->demux.stop_feed  = stop_feed;
+	dvb->demux.stop_feed = stop_feed;
 
 	result = dvb_dmx_init(&dvb->demux);
 	if (result < 0) {
@@ -361,8 +355,8 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 		goto fail_dmx;
 	}
 
-	dvb->dmxdev.filternum    = 256;
-	dvb->dmxdev.demux        = &dvb->demux.dmx;
+	dvb->dmxdev.filternum = 256;
+	dvb->dmxdev.demux = &dvb->demux.dmx;
 	dvb->dmxdev.capabilities = 0;
 	result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
 	if (result < 0) {
@@ -374,7 +368,8 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 	dvb->fe_hw.source = DMX_FRONTEND_0;
 	result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_hw);
 	if (result < 0) {
-		printk(KERN_WARNING "%s: add_frontend failed (DMX_FRONTEND_0, errno = %d)\n",
+		printk(KERN_WARNING
+		       "%s: add_frontend failed (DMX_FRONTEND_0, errno = %d)\n",
 		       dev->name, result);
 		goto fail_fe_hw;
 	}
@@ -382,15 +377,17 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 	dvb->fe_mem.source = DMX_MEMORY_FE;
 	result = dvb->demux.dmx.add_frontend(&dvb->demux.dmx, &dvb->fe_mem);
 	if (result < 0) {
-		printk(KERN_WARNING "%s: add_frontend failed (DMX_MEMORY_FE, errno = %d)\n",
+		printk(KERN_WARNING
+		       "%s: add_frontend failed (DMX_MEMORY_FE, errno = %d)\n",
 		       dev->name, result);
 		goto fail_fe_mem;
 	}
 
 	result = dvb->demux.dmx.connect_frontend(&dvb->demux.dmx, &dvb->fe_hw);
 	if (result < 0) {
-		printk(KERN_WARNING "%s: connect_frontend failed (errno = %d)\n",
-		       dev->name, result);
+		printk(KERN_WARNING
+		       "%s: connect_frontend failed (errno = %d)\n", dev->name,
+		       result);
 		goto fail_fe_conn;
 	}
 
@@ -398,20 +395,20 @@ static int register_dvb(struct cx231xx_dvb *dvb,
 	dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
 	return 0;
 
-fail_fe_conn:
+      fail_fe_conn:
 	dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_mem);
-fail_fe_mem:
+      fail_fe_mem:
 	dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw);
-fail_fe_hw:
+      fail_fe_hw:
 	dvb_dmxdev_release(&dvb->dmxdev);
-fail_dmxdev:
+      fail_dmxdev:
 	dvb_dmx_release(&dvb->demux);
-fail_dmx:
+      fail_dmx:
 	dvb_unregister_frontend(dvb->frontend);
-fail_frontend:
+      fail_frontend:
 	dvb_frontend_detach(dvb->frontend);
 	dvb_unregister_adapter(&dvb->adapter);
-fail_adapter:
+      fail_adapter:
 	return result;
 }
 
@@ -427,7 +424,6 @@ static void unregister_dvb(struct cx231xx_dvb *dvb)
 	dvb_unregister_adapter(&dvb->adapter);
 }
 
-
 static int dvb_init(struct cx231xx *dev)
 {
 	int result = 0;
@@ -446,71 +442,70 @@ static int dvb_init(struct cx231xx *dev)
 	}
 	dev->dvb = dvb;
 	dev->cx231xx_set_analog_freq = cx231xx_set_analog_freq;
-    dev->cx231xx_reset_analog_tuner = cx231xx_reset_analog_tuner;
+	dev->cx231xx_reset_analog_tuner = cx231xx_reset_analog_tuner;
 
 	cx231xx_set_mode(dev, CX231XX_DIGITAL_MODE);
 	/* init frontend */
 	switch (dev->model) {
-        case CX231XX_BOARD_CNXT_RDE_250:
-
-           /* dev->dvb->frontend = dvb_attach(s5h1411_attach,
-							&dvico_s5h1411_config,
-							&dev->i2c_bus[1].i2c_adap);*/
-            dev->dvb->frontend = dvb_attach(dvb_dummy_fe_ofdm_attach);
-
-            if(dev->dvb->frontend == NULL) {
-                printk(DRIVER_NAME ": Failed to attach dummy front end\n");
-                result = -EINVAL;
-			    goto out_free;
-            }
-
-            /* define general-purpose callback pointer */
-	        dvb->frontend->callback = cx231xx_tuner_callback;
-
-            if(dvb_attach(xc5000_attach, dev->dvb->frontend,
-				   &dev->i2c_bus[1].i2c_adap,
-				   &cnxt_rde250_tunerconfig) < 0) {
-			    result = -EINVAL;
-			    goto out_free;
-		    }
-
-            break;
-       case CX231XX_BOARD_CNXT_RDU_250:
-
-           dev->dvb->frontend = dvb_attach(dvb_dummy_fe_ofdm_attach);
-
-            if(dev->dvb->frontend == NULL) {
-                printk(DRIVER_NAME ": Failed to attach dummy front end\n");
-                result = -EINVAL;
-			    goto out_free;
-            }
-
-            /* define general-purpose callback pointer */
-	        dvb->frontend->callback = cx231xx_tuner_callback;
-
-           if(dvb_attach(xc5000_attach, dev->dvb->frontend,
-				   &dev->i2c_bus[1].i2c_adap,
-				   &cnxt_rde250_tunerconfig) < 0) {
-			    result = -EINVAL;
-			    goto out_free;
-		    }
-           break;
+	case CX231XX_BOARD_CNXT_RDE_250:
+
+		/* dev->dvb->frontend = dvb_attach(s5h1411_attach,
+		   &dvico_s5h1411_config,
+		   &dev->i2c_bus[1].i2c_adap); */
+		dev->dvb->frontend = dvb_attach(dvb_dummy_fe_ofdm_attach);
+
+		if (dev->dvb->frontend == NULL) {
+			printk(DRIVER_NAME
+			       ": Failed to attach dummy front end\n");
+			result = -EINVAL;
+			goto out_free;
+		}
+
+		/* define general-purpose callback pointer */
+		dvb->frontend->callback = cx231xx_tuner_callback;
+
+		if (dvb_attach(xc5000_attach, dev->dvb->frontend,
+			       &dev->i2c_bus[1].i2c_adap,
+			       &cnxt_rde250_tunerconfig) < 0) {
+			result = -EINVAL;
+			goto out_free;
+		}
+
+		break;
+	case CX231XX_BOARD_CNXT_RDU_250:
+
+		dev->dvb->frontend = dvb_attach(dvb_dummy_fe_ofdm_attach);
+
+		if (dev->dvb->frontend == NULL) {
+			printk(DRIVER_NAME
+			       ": Failed to attach dummy front end\n");
+			result = -EINVAL;
+			goto out_free;
+		}
+
+		/* define general-purpose callback pointer */
+		dvb->frontend->callback = cx231xx_tuner_callback;
+
+		if (dvb_attach(xc5000_attach, dev->dvb->frontend,
+			       &dev->i2c_bus[1].i2c_adap,
+			       &cnxt_rde250_tunerconfig) < 0) {
+			result = -EINVAL;
+			goto out_free;
+		}
+		break;
 
 	default:
 		printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card"
-				" isn't supported yet\n",
-		       dev->name);
+		       " isn't supported yet\n", dev->name);
 		break;
 	}
 	if (NULL == dvb->frontend) {
 		printk(KERN_ERR
-		       "%s/2: frontend initialization failed\n",
-		       dev->name);
+		       "%s/2: frontend initialization failed\n", dev->name);
 		result = -EINVAL;
 		goto out_free;
 	}
 
-
 	/* register everything */
 	result = register_dvb(dvb, THIS_MODULE, dev, &dev->udev->dev);
 
@@ -521,7 +516,7 @@ static int dvb_init(struct cx231xx *dev)
 	printk(KERN_INFO "Successfully loaded cx231xx-dvb\n");
 	return 0;
 
-out_free:
+      out_free:
 	cx231xx_set_mode(dev, CX231XX_SUSPEND);
 	kfree(dvb);
 	dev->dvb = NULL;
@@ -544,7 +539,7 @@ static int dvb_fini(struct cx231xx *dev)
 }
 
 static struct cx231xx_ops dvb_ops = {
-	.id   = CX231XX_DVB,
+	.id = CX231XX_DVB,
 	.name = "Cx231xx dvb Extension",
 	.init = dvb_init,
 	.fini = dvb_fini,
@@ -562,4 +557,3 @@ static void __exit cx231xx_dvb_unregister(void)
 
 module_init(cx231xx_dvb_register);
 module_exit(cx231xx_dvb_unregister);
-

+ 294 - 273
drivers/media/video/cx231xx/cx231xx-i2c.c

@@ -2,8 +2,8 @@
    cx231xx-i2c.c - driver for Conexant Cx23100/101/102 USB video capture devices
 
    Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on em28xx driver
-        Based on Cx23885 driver
+	Based on em28xx driver
+	Based on Cx23885 driver
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@
 
 #include "cx231xx.h"
 
-
 /* ----------------------------------------------------------- */
 
 static unsigned int i2c_scan;
@@ -40,7 +39,6 @@ static unsigned int i2c_debug;
 module_param(i2c_debug, int, 0644);
 MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]");
 
-
 #define dprintk1(lvl, fmt, args...)			\
 do {							\
 	if (i2c_debug >= lvl) {				\
@@ -56,116 +54,119 @@ do {							\
       } 						\
 } while (0)
 
-
 /*
  * cx231xx_i2c_send_bytes()
  */
 int cx231xx_i2c_send_bytes(struct i2c_adapter *i2c_adap,
-			 const struct i2c_msg *msg)
+			   const struct i2c_msg *msg)
 {
 	struct cx231xx_i2c *bus = i2c_adap->algo_data;
 	struct cx231xx *dev = bus->dev;
-    struct cx231xx_i2c_xfer_data req_data;
-    int status = 0;
-    u16 size = 0;
-    u8 loop = 0;
-    u8 saddr_len = 1;
-    u8 *buf_ptr = NULL;
-    u16 saddr = 0;
-    u8 need_gpio = 0;
-
-
-    if( (bus->nr ==1) && (msg->addr == 0x61) && (dev->tuner_type == TUNER_XC5000) ) {
-
-        size = msg->len;
-
-        if( size == 2 ) { /* register write sub addr*/
-
-            /* Just writing sub address will cause problem to XC5000
-               So ignore the request */
-            return 0;
-
-        } else if( size == 4 ) { /* register write with sub addr*/
-
-            if(msg->len >= 2 )
-                saddr = msg->buf[0] << 8 | msg->buf[1];
-            else if ( msg->len == 1 )
-                saddr = msg->buf[0];
-
-            switch(saddr) {
-                case 0x0000:    /* start tuner calibration mode */
-                    need_gpio = 1;
-                    dev->xc_fw_load_done = 1; /* FW Loading is done */
-                    break;
-                case 0x000D:    /* Set signal source */
-                case 0x0001:    /* Set TV standard - Video */
-                case 0x0002:    /* Set TV standard - Audio */
-                case 0x0003:    /* Set RF Frequency */
-                    need_gpio = 1;
-                    break;
-                default:
-                    if(dev->xc_fw_load_done)
-                        need_gpio = 1;
-                    break;
-            }
-
-            if(need_gpio ) {
-                dprintk1(1, " GPIO W R I T E : addr 0x%x, len %d, saddr 0x%x\n",
-                    msg->addr, msg->len,  saddr);
-
-                return dev->cx231xx_gpio_i2c_write(dev, msg->addr, msg->buf, msg->len);
-            }
-
-        }
-
-        /* special case for Xc5000 tuner case */
-        saddr_len = 1;
-
-        /* adjust the length to correct length */
-        size -= saddr_len;
-        buf_ptr = (u8*) (msg->buf + 1 );
-
-        do {
-            /* prepare xfer_data struct */
-            req_data.dev_addr = msg->addr;
-            req_data.direction = msg->flags;
-            req_data.saddr_len = saddr_len;
-            req_data.saddr_dat = msg->buf[0];
-            req_data.buf_size =  size > 16 ? 16: size;
-            req_data.p_buffer = (u8*)(buf_ptr + loop * 16);
-
-            bus->i2c_nostop =  (size > 16) ? 1: 0;
-            bus->i2c_reserve = (loop == 0) ? 0: 1;
-
-            /* usb send command */
-            status = dev->cx231xx_send_usb_command(bus, &req_data);
-            loop++;
-
-            if( size >= 16 )
-                size -=  16;
-            else
-                size = 0;
-
-        }while( size > 0 );
-
-        bus->i2c_nostop =  0;
-        bus->i2c_reserve = 0;
-
-    } else { /* regular case */
-
-        /* prepare xfer_data struct */
-        req_data.dev_addr = msg->addr;
-        req_data.direction = msg->flags;
-        req_data.saddr_len = 0;
-        req_data.saddr_dat = 0;
-        req_data.buf_size = msg->len;
-        req_data.p_buffer = msg->buf;
-
-        /* usb send command */
-        status = dev->cx231xx_send_usb_command(bus, &req_data);
-    }
-
-    return status < 0 ? status: 0;
+	struct cx231xx_i2c_xfer_data req_data;
+	int status = 0;
+	u16 size = 0;
+	u8 loop = 0;
+	u8 saddr_len = 1;
+	u8 *buf_ptr = NULL;
+	u16 saddr = 0;
+	u8 need_gpio = 0;
+
+	if ((bus->nr == 1) && (msg->addr == 0x61)
+	    && (dev->tuner_type == TUNER_XC5000)) {
+
+		size = msg->len;
+
+		if (size == 2) {	/* register write sub addr */
+
+			/* Just writing sub address will cause problem to XC5000
+			   So ignore the request */
+			return 0;
+
+		} else if (size == 4) {	/* register write with sub addr */
+
+			if (msg->len >= 2)
+				saddr = msg->buf[0] << 8 | msg->buf[1];
+			else if (msg->len == 1)
+				saddr = msg->buf[0];
+
+			switch (saddr) {
+			case 0x0000:	/* start tuner calibration mode */
+				need_gpio = 1;
+				dev->xc_fw_load_done = 1;	/* FW Loading is done */
+				break;
+			case 0x000D:	/* Set signal source */
+			case 0x0001:	/* Set TV standard - Video */
+			case 0x0002:	/* Set TV standard - Audio */
+			case 0x0003:	/* Set RF Frequency */
+				need_gpio = 1;
+				break;
+			default:
+				if (dev->xc_fw_load_done)
+					need_gpio = 1;
+				break;
+			}
+
+			if (need_gpio) {
+				dprintk1(1,
+					 " GPIO W R I T E : addr 0x%x, len %d, saddr 0x%x\n",
+					 msg->addr, msg->len, saddr);
+
+				return dev->cx231xx_gpio_i2c_write(dev,
+								   msg->addr,
+								   msg->buf,
+								   msg->len);
+			}
+
+		}
+
+		/* special case for Xc5000 tuner case */
+		saddr_len = 1;
+
+		/* adjust the length to correct length */
+		size -= saddr_len;
+		buf_ptr = (u8 *) (msg->buf + 1);
+
+		do {
+			/* prepare xfer_data struct */
+			req_data.dev_addr = msg->addr;
+			req_data.direction = msg->flags;
+			req_data.saddr_len = saddr_len;
+			req_data.saddr_dat = msg->buf[0];
+			req_data.buf_size = size > 16 ? 16 : size;
+			req_data.p_buffer = (u8 *) (buf_ptr + loop * 16);
+
+			bus->i2c_nostop = (size > 16) ? 1 : 0;
+			bus->i2c_reserve = (loop == 0) ? 0 : 1;
+
+			/* usb send command */
+			status = dev->cx231xx_send_usb_command(bus, &req_data);
+			loop++;
+
+			if (size >= 16)
+				size -= 16;
+			else
+				size = 0;
+
+		} while (size > 0);
+
+		bus->i2c_nostop = 0;
+		bus->i2c_reserve = 0;
+
+	} else {		/* regular case */
+
+		/* prepare xfer_data struct */
+		req_data.dev_addr = msg->addr;
+		req_data.direction = msg->flags;
+		req_data.saddr_len = 0;
+		req_data.saddr_dat = 0;
+		req_data.buf_size = msg->len;
+		req_data.p_buffer = msg->buf;
+
+		/* usb send command */
+		status = dev->cx231xx_send_usb_command(bus, &req_data);
+	}
+
+	return status < 0 ? status : 0;
 }
 
 /*
@@ -173,75 +174,85 @@ int cx231xx_i2c_send_bytes(struct i2c_adapter *i2c_adap,
  * read a byte from the i2c device
  */
 static int cx231xx_i2c_recv_bytes(struct i2c_adapter *i2c_adap,
-			 const struct i2c_msg *msg)
+				  const struct i2c_msg *msg)
 {
-    struct cx231xx_i2c *bus = i2c_adap->algo_data;
+	struct cx231xx_i2c *bus = i2c_adap->algo_data;
 	struct cx231xx *dev = bus->dev;
-    struct cx231xx_i2c_xfer_data req_data;
-    int status = 0;
-    u16 saddr = 0;
-    u8 need_gpio = 0;
-
-    if((bus->nr ==1) && (msg->addr == 0x61) && dev->tuner_type == TUNER_XC5000) {
-
-        if(msg->len == 2 )
-            saddr = msg->buf[0] << 8 | msg->buf[1];
-        else if ( msg->len == 1 )
-            saddr = msg->buf[0];
-
-        if( dev->xc_fw_load_done) {
-
-            switch(saddr) {
-                case 0x0009:    /* BUSY check */
-                    dprintk1(1, " GPIO R E A D : Special case BUSY check \n");
-                    /* Try to read BUSY register, just set it to zero */
-                    msg->buf[0] = 0;
-                    if(msg->len == 2 )
-                        msg->buf[1] = 0;
-                    return 0;
-                case 0x0004:    /* read Lock status */
-                    need_gpio = 1;
-                    break;
-
-            }
-
-            if(need_gpio) {
-                /* this is a special case to handle Xceive tuner clock stretch issue
-                   with gpio based I2C interface */
-                dprintk1(1, " GPIO R E A D : addr 0x%x, len %d, saddr 0x%x\n",
-                    msg->addr, msg->len, msg->buf[0] << 8| msg->buf[1]);
-                status = dev->cx231xx_gpio_i2c_write(dev, msg->addr, msg->buf, msg->len);
-                status = dev->cx231xx_gpio_i2c_read(dev, msg->addr, msg->buf, msg->len);
-                return status;
-            }
-        }
-
-         /* prepare xfer_data struct */
-        req_data.dev_addr = msg->addr;
-        req_data.direction = msg->flags;
-        req_data.saddr_len = msg->len;
-        req_data.saddr_dat = msg->buf[0] << 8 | msg->buf[1];
-        req_data.buf_size = msg->len;
-        req_data.p_buffer = msg->buf;
-
-        /* usb send command */
-        status = dev->cx231xx_send_usb_command(bus, &req_data);
-
-    } else {
-
-        /* prepare xfer_data struct */
-        req_data.dev_addr = msg->addr;
-        req_data.direction = msg->flags;
-        req_data.saddr_len = 0;
-        req_data.saddr_dat = 0;
-        req_data.buf_size = msg->len;
-        req_data.p_buffer = msg->buf;
-
-        /* usb send command */
-        status = dev->cx231xx_send_usb_command(bus, &req_data);
-    }
-
-    return status < 0 ? status: 0;
+	struct cx231xx_i2c_xfer_data req_data;
+	int status = 0;
+	u16 saddr = 0;
+	u8 need_gpio = 0;
+
+	if ((bus->nr == 1) && (msg->addr == 0x61)
+	    && dev->tuner_type == TUNER_XC5000) {
+
+		if (msg->len == 2)
+			saddr = msg->buf[0] << 8 | msg->buf[1];
+		else if (msg->len == 1)
+			saddr = msg->buf[0];
+
+		if (dev->xc_fw_load_done) {
+
+			switch (saddr) {
+			case 0x0009:	/* BUSY check */
+				dprintk1(1,
+					 " GPIO R E A D : Special case BUSY check \n");
+				/* Try to read BUSY register, just set it to zero */
+				msg->buf[0] = 0;
+				if (msg->len == 2)
+					msg->buf[1] = 0;
+				return 0;
+			case 0x0004:	/* read Lock status */
+				need_gpio = 1;
+				break;
+
+			}
+
+			if (need_gpio) {
+				/* this is a special case to handle Xceive tuner clock stretch issue
+				   with gpio based I2C interface */
+				dprintk1(1,
+					 " GPIO R E A D : addr 0x%x, len %d, saddr 0x%x\n",
+					 msg->addr, msg->len,
+					 msg->buf[0] << 8 | msg->buf[1]);
+				status =
+				    dev->cx231xx_gpio_i2c_write(dev, msg->addr,
+								msg->buf,
+								msg->len);
+				status =
+				    dev->cx231xx_gpio_i2c_read(dev, msg->addr,
+							       msg->buf,
+							       msg->len);
+				return status;
+			}
+		}
+
+		/* prepare xfer_data struct */
+		req_data.dev_addr = msg->addr;
+		req_data.direction = msg->flags;
+		req_data.saddr_len = msg->len;
+		req_data.saddr_dat = msg->buf[0] << 8 | msg->buf[1];
+		req_data.buf_size = msg->len;
+		req_data.p_buffer = msg->buf;
+
+		/* usb send command */
+		status = dev->cx231xx_send_usb_command(bus, &req_data);
+
+	} else {
+
+		/* prepare xfer_data struct */
+		req_data.dev_addr = msg->addr;
+		req_data.direction = msg->flags;
+		req_data.saddr_len = 0;
+		req_data.saddr_dat = 0;
+		req_data.buf_size = msg->len;
+		req_data.p_buffer = msg->buf;
+
+		/* usb send command */
+		status = dev->cx231xx_send_usb_command(bus, &req_data);
+	}
+
+	return status < 0 ? status : 0;
 }
 
 /*
@@ -249,56 +260,65 @@ static int cx231xx_i2c_recv_bytes(struct i2c_adapter *i2c_adap,
  * read a byte from the i2c device
  */
 static int cx231xx_i2c_recv_bytes_with_saddr(struct i2c_adapter *i2c_adap,
-			 const struct i2c_msg *msg1, const struct i2c_msg *msg2)
+					     const struct i2c_msg *msg1,
+					     const struct i2c_msg *msg2)
 {
-    struct cx231xx_i2c *bus = i2c_adap->algo_data;
+	struct cx231xx_i2c *bus = i2c_adap->algo_data;
 	struct cx231xx *dev = bus->dev;
-    struct cx231xx_i2c_xfer_data req_data;
-    int status = 0;
-    u16 saddr = 0;
-    u8 need_gpio = 0;
-
-    if(msg1->len == 2 )
-        saddr = msg1->buf[0] << 8 | msg1->buf[1];
-    else if ( msg1->len == 1 )
-        saddr = msg1->buf[0];
-
-    if ( (bus->nr ==1) && (msg2->addr == 0x61) &&  dev->tuner_type == TUNER_XC5000) {
-
-        if( (msg2->len < 16) ) {
-
-            dprintk1(1, " i2c_read : addr 0x%x, len %d, subaddr 0x%x, leng %d\n",
-                msg2->addr, msg2->len, saddr, msg1->len);
-
-            switch(saddr) {
-                case 0x0008:    /* read FW load status */
-                    need_gpio = 1;
-                    break;
-                case 0x0004:    /* read Lock status */
-                    need_gpio = 1;
-                    break;
-            }
-
-            if(need_gpio ) {
-                status = dev->cx231xx_gpio_i2c_write(dev, msg1->addr, msg1->buf, msg1->len);
-                status = dev->cx231xx_gpio_i2c_read(dev, msg2->addr, msg2->buf, msg2->len);
-                return status;
-            }
-        }
-    }
-
-    /* prepare xfer_data struct */
-    req_data.dev_addr = msg2->addr;
-    req_data.direction = msg2->flags;
-    req_data.saddr_len = msg1->len;
-    req_data.saddr_dat = saddr;
-    req_data.buf_size = msg2->len;
-    req_data.p_buffer = msg2->buf;
-
-    /* usb send command */
-    status = dev->cx231xx_send_usb_command(bus, &req_data);
-
-    return status < 0 ? status: 0;
+	struct cx231xx_i2c_xfer_data req_data;
+	int status = 0;
+	u16 saddr = 0;
+	u8 need_gpio = 0;
+
+	if (msg1->len == 2)
+		saddr = msg1->buf[0] << 8 | msg1->buf[1];
+	else if (msg1->len == 1)
+		saddr = msg1->buf[0];
+
+	if ((bus->nr == 1) && (msg2->addr == 0x61)
+	    && dev->tuner_type == TUNER_XC5000) {
+
+		if ((msg2->len < 16)) {
+
+			dprintk1(1,
+				 " i2c_read : addr 0x%x, len %d, subaddr 0x%x, leng %d\n",
+				 msg2->addr, msg2->len, saddr, msg1->len);
+
+			switch (saddr) {
+			case 0x0008:	/* read FW load status */
+				need_gpio = 1;
+				break;
+			case 0x0004:	/* read Lock status */
+				need_gpio = 1;
+				break;
+			}
+
+			if (need_gpio) {
+				status =
+				    dev->cx231xx_gpio_i2c_write(dev, msg1->addr,
+								msg1->buf,
+								msg1->len);
+				status =
+				    dev->cx231xx_gpio_i2c_read(dev, msg2->addr,
+							       msg2->buf,
+							       msg2->len);
+				return status;
+			}
+		}
+	}
+
+	/* prepare xfer_data struct */
+	req_data.dev_addr = msg2->addr;
+	req_data.direction = msg2->flags;
+	req_data.saddr_len = msg1->len;
+	req_data.saddr_dat = saddr;
+	req_data.buf_size = msg2->len;
+	req_data.p_buffer = msg2->buf;
+
+	/* usb send command */
+	status = dev->cx231xx_send_usb_command(bus, &req_data);
+
+	return status < 0 ? status : 0;
 }
 
 /*
@@ -306,25 +326,25 @@ static int cx231xx_i2c_recv_bytes_with_saddr(struct i2c_adapter *i2c_adap,
  * check if there is a i2c_device at the supplied address
  */
 static int cx231xx_i2c_check_for_device(struct i2c_adapter *i2c_adap,
-			 const struct i2c_msg *msg)
+					const struct i2c_msg *msg)
 {
-    struct cx231xx_i2c *bus = i2c_adap->algo_data;
+	struct cx231xx_i2c *bus = i2c_adap->algo_data;
 	struct cx231xx *dev = bus->dev;
-    struct cx231xx_i2c_xfer_data req_data;
-    int status = 0;
+	struct cx231xx_i2c_xfer_data req_data;
+	int status = 0;
 
-    /* prepare xfer_data struct */
-    req_data.dev_addr = msg->addr;
-    req_data.direction = msg->flags;
-    req_data.saddr_len = 0;
-    req_data.saddr_dat = 0;
-    req_data.buf_size = 0;
-    req_data.p_buffer = NULL;
+	/* prepare xfer_data struct */
+	req_data.dev_addr = msg->addr;
+	req_data.direction = msg->flags;
+	req_data.saddr_len = 0;
+	req_data.saddr_dat = 0;
+	req_data.buf_size = 0;
+	req_data.p_buffer = NULL;
 
-    /* usb send command */
-    status = dev->cx231xx_send_usb_command(bus, &req_data);
+	/* usb send command */
+	status = dev->cx231xx_send_usb_command(bus, &req_data);
 
-    return status < 0 ? status: 0;
+	return status < 0 ? status : 0;
 }
 
 /*
@@ -332,7 +352,7 @@ static int cx231xx_i2c_check_for_device(struct i2c_adapter *i2c_adap,
  * the main i2c transfer function
  */
 static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
-			   struct i2c_msg msgs[], int num)
+			    struct i2c_msg msgs[], int num)
 {
 	struct cx231xx_i2c *bus = i2c_adap->algo_data;
 	struct cx231xx *dev = bus->dev;
@@ -348,7 +368,7 @@ static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
 		dprintk2(2, "%s %s addr=%x len=%d:",
 			 (msgs[i].flags & I2C_M_RD) ? "read" : "write",
 			 i == num - 1 ? "stop" : "nonstop", addr, msgs[i].len);
-		if (!msgs[i].len) { /* no len: check only for device presence */
+		if (!msgs[i].len) {	/* no len: check only for device presence */
 			rc = cx231xx_i2c_check_for_device(i2c_adap, &msgs[i]);
 			if (rc < 0) {
 				dprintk2(2, " no device\n");
@@ -363,21 +383,24 @@ static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
 					printk(" %02x", msgs[i].buf[byte]);
 			}
 		} else if (i + 1 < num && (msgs[i + 1].flags & I2C_M_RD) &&
-			   msgs[i].addr == msgs[i + 1].addr  && (msgs[i].len <= 2) && (bus->nr < 2)) {
+			   msgs[i].addr == msgs[i + 1].addr
+			   && (msgs[i].len <= 2) && (bus->nr < 2)) {
 			/* read bytes */
-			rc = cx231xx_i2c_recv_bytes_with_saddr(i2c_adap, &msgs[i], &msgs[i+1]);
+			rc = cx231xx_i2c_recv_bytes_with_saddr(i2c_adap,
+							       &msgs[i],
+							       &msgs[i + 1]);
 			if (i2c_debug >= 2) {
 				for (byte = 0; byte < msgs[i].len; byte++)
 					printk(" %02x", msgs[i].buf[byte]);
 			}
-            i++;
+			i++;
 		} else {
 			/* write bytes */
 			if (i2c_debug >= 2) {
 				for (byte = 0; byte < msgs[i].len; byte++)
 					printk(" %02x", msgs[i].buf[byte]);
 			}
-			rc = cx231xx_i2c_send_bytes(i2c_adap,&msgs[i]);
+			rc = cx231xx_i2c_send_bytes(i2c_adap, &msgs[i]);
 		}
 		if (rc < 0)
 			goto err;
@@ -386,7 +409,7 @@ static int cx231xx_i2c_xfer(struct i2c_adapter *i2c_adap,
 	}
 
 	return num;
-err:
+      err:
 	dprintk2(2, " ERROR: %i\n", rc);
 	return rc;
 }
@@ -408,7 +431,7 @@ static u32 functionality(struct i2c_adapter *adap)
  */
 static int attach_inform(struct i2c_client *client)
 {
-    struct cx231xx_i2c *bus = i2c_get_adapdata(client->adapter);
+	struct cx231xx_i2c *bus = i2c_get_adapdata(client->adapter);
 	struct cx231xx *dev = bus->dev;
 
 	switch (client->addr << 1) {
@@ -422,16 +445,16 @@ static int attach_inform(struct i2c_client *client)
 		dprintk1(1, "attach_inform: eeprom detected.\n");
 		break;
 	case 0x60:
-        dprintk1(1, "attach_inform: Colibri detected.\n");
-        break;
-	case 0x8e:
-	{
-		struct IR_i2c *ir = i2c_get_clientdata(client);
-		dprintk1(1, "attach_inform: IR detected (%s).\n",
-			ir->phys);
-		cx231xx_set_ir(dev, ir);
+		dprintk1(1, "attach_inform: Colibri detected.\n");
 		break;
-	}
+	case 0x8e:
+		{
+			struct IR_i2c *ir = i2c_get_clientdata(client);
+			dprintk1(1, "attach_inform: IR detected (%s).\n",
+				 ir->phys);
+			cx231xx_set_ir(dev, ir);
+			break;
+		}
 	case 0x80:
 	case 0x88:
 		dprintk1(1, "attach_inform: Hammerhead detected.\n");
@@ -442,7 +465,7 @@ static int attach_inform(struct i2c_client *client)
 			dev->tuner_addr = client->addr;
 
 		dprintk1(1, "attach inform: detected I2C address %x\n",
-				client->addr << 1);
+			 client->addr << 1);
 	}
 
 	return 0;
@@ -454,9 +477,8 @@ static int detach_inform(struct i2c_client *client)
 	return 0;
 }
 
-
 static struct i2c_algorithm cx231xx_algo = {
-	.master_xfer   = cx231xx_i2c_xfer,
+	.master_xfer = cx231xx_i2c_xfer,
 	.functionality = functionality,
 };
 
@@ -466,7 +488,7 @@ static struct i2c_adapter cx231xx_adap_template = {
 	.name = "cx231xx",
 	.id = I2C_HW_B_CX231XX,
 	.algo = &cx231xx_algo,
-	.client_register   = attach_inform,
+	.client_register = attach_inform,
 	.client_unregister = detach_inform,
 };
 
@@ -483,9 +505,9 @@ static struct i2c_client cx231xx_client_template = {
 static char *i2c_devs[128] = {
 	[0x60 >> 1] = "colibri",
 	[0x88 >> 1] = "hammerhead",
-    [0x8e >> 1] = "CIR",
+	[0x8e >> 1] = "CIR",
 	[0x32 >> 1] = "GeminiIII",
-    [0x02 >> 1] = "Aquarius",
+	[0x02 >> 1] = "Aquarius",
 	[0xa0 >> 1] = "eeprom",
 	[0xc0 >> 1] = "tuner/XC3028",
 	[0xc2 >> 1] = "tuner/XC5000",
@@ -500,23 +522,25 @@ void cx231xx_do_i2c_scan(struct cx231xx *dev, struct i2c_client *c)
 	unsigned char buf;
 	int i, rc;
 
-    cx231xx_info(": Checking for I2C devices ..\n");
+	cx231xx_info(": Checking for I2C devices ..\n");
 	for (i = 0; i < 128; i++) {
 		c->addr = i;
 		rc = i2c_master_recv(c, &buf, 0);
 		if (rc < 0)
 			continue;
 		cx231xx_info("%s: i2c scan: found device @ 0x%x  [%s]\n",
-		       dev->name, i << 1, i2c_devs[i] ? i2c_devs[i] : "???");
+			     dev->name, i << 1,
+			     i2c_devs[i] ? i2c_devs[i] : "???");
 	}
-    cx231xx_info(": Completed Checking for I2C devices.\n");
+	cx231xx_info(": Completed Checking for I2C devices.\n");
 }
 
 /*
  * cx231xx_i2c_call_clients()
  * send commands to all attached i2c devices
  */
-void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd, void *arg)
+void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd,
+			      void *arg)
 {
 	/* struct cx231xx *dev = bus->dev; */
 
@@ -530,23 +554,20 @@ void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd, void *a
  */
 int cx231xx_i2c_register(struct cx231xx_i2c *bus)
 {
-    struct cx231xx *dev = bus->dev;
+	struct cx231xx *dev = bus->dev;
 
-    BUG_ON(!dev->cx231xx_send_usb_command);
+	BUG_ON(!dev->cx231xx_send_usb_command);
 
-    cx231xx_info("%s(bus = %d)\n", __func__, bus->nr);
+	cx231xx_info("%s(bus = %d)\n", __func__, bus->nr);
 
-	memcpy(&bus->i2c_adap, &cx231xx_adap_template,
-	       sizeof(bus->i2c_adap));
-	memcpy(&bus->i2c_algo, &cx231xx_algo,
-	       sizeof(bus->i2c_algo));
+	memcpy(&bus->i2c_adap, &cx231xx_adap_template, sizeof(bus->i2c_adap));
+	memcpy(&bus->i2c_algo, &cx231xx_algo, sizeof(bus->i2c_algo));
 	memcpy(&bus->i2c_client, &cx231xx_client_template,
 	       sizeof(bus->i2c_client));
 
 	bus->i2c_adap.dev.parent = &dev->udev->dev;
 
-	strlcpy(bus->i2c_adap.name, bus->dev->name,
-		sizeof(bus->i2c_adap.name));
+	strlcpy(bus->i2c_adap.name, bus->dev->name, sizeof(bus->i2c_adap.name));
 
 	bus->i2c_algo.data = bus;
 	bus->i2c_adap.algo_data = bus;
@@ -561,7 +582,7 @@ int cx231xx_i2c_register(struct cx231xx_i2c *bus)
 			cx231xx_do_i2c_scan(dev, &bus->i2c_client);
 	} else
 		cx231xx_warn("%s: i2c bus %d register FAILED\n",
-			dev->name, bus->nr);
+			     dev->name, bus->nr);
 
 	return bus->i2c_rc;
 }

+ 10 - 14
drivers/media/video/cx231xx/cx231xx-input.c

@@ -2,9 +2,9 @@
   handle cx231xx IR remotes via linux kernel input layer.
 
   Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on em28xx driver
+	Based on em28xx driver
 
-        < This is a place holder for IR now.>
+	< This is a place holder for IR now.>
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -30,7 +30,6 @@
 
 #include "cx231xx.h"
 
-
 static unsigned int ir_debug;
 module_param(ir_debug, int, 0644);
 MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]");
@@ -71,11 +70,9 @@ struct cx231xx_IR {
 	unsigned int last_readcount;
 	unsigned int repeat_interval;
 
-	int  (*get_key)(struct cx231xx_IR *, struct cx231xx_ir_poll_result *);
+	int (*get_key) (struct cx231xx_IR *, struct cx231xx_ir_poll_result *);
 };
 
-
-
 /**********************************************************
  Polling code for cx231xx
  **********************************************************/
@@ -187,17 +184,16 @@ int cx231xx_ir_init(struct cx231xx *dev)
 
 	/* Setup the proper handler based on the chip */
 	switch (dev->chip_id) {
-	    default:
-		    printk("Unrecognized cx231xx chip id: IR not supported\n");
-		    goto err_out_free;
+	default:
+		printk("Unrecognized cx231xx chip id: IR not supported\n");
+		goto err_out_free;
 	}
 
 	/* This is how often we ask the chip for IR information */
-	ir->polling = 100; /* ms */
+	ir->polling = 100;	/* ms */
 
 	/* init input device */
-	snprintf(ir->name, sizeof(ir->name), "cx231xx IR (%s)",
-						dev->name);
+	snprintf(ir->name, sizeof(ir->name), "cx231xx IR (%s)", dev->name);
 
 	usb_make_path(dev->udev, ir->phys, sizeof(ir->phys));
 	strlcat(ir->phys, "/input0", sizeof(ir->phys));
@@ -223,10 +219,10 @@ int cx231xx_ir_init(struct cx231xx *dev)
 		goto err_out_stop;
 
 	return 0;
- err_out_stop:
+      err_out_stop:
 	cx231xx_ir_stop(ir);
 	dev->ir = NULL;
- err_out_free:
+      err_out_free:
 	input_free_device(input_dev);
 	kfree(ir);
 	return err;

+ 24 - 35
drivers/media/video/cx231xx/cx231xx-reg.h

@@ -22,7 +22,7 @@
 #define _CX231XX_REG_H
 
 /*****************************************************************************
-                    * VBI codes *
+		    * VBI codes *
 *****************************************************************************/
 
 #define SAV_ACTIVE_VIDEO_FIELD1	      0x80
@@ -37,16 +37,16 @@
 #define SAV_VBLANK_FIELD2		      0xE0
 #define EAV_VBLANK_FIELD2		      0xF0
 
-#define SAV_VBI_FIELD1	              0x20
-#define EAV_VBI_FIELD1	              0x30
+#define SAV_VBI_FIELD1		      0x20
+#define EAV_VBI_FIELD1		      0x30
 
-#define SAV_VBI_FIELD2	              0x60
-#define EAV_VBI_FIELD2	              0x70
+#define SAV_VBI_FIELD2		      0x60
+#define EAV_VBI_FIELD2		      0x70
 
 /*****************************************************************************/
 /* Audio ADC Registers */
-#define CH_PWR_CTRL1	              0x0000000E
-#define CH_PWR_CTRL2	              0x0000000F
+#define CH_PWR_CTRL1		      0x0000000E
+#define CH_PWR_CTRL2		      0x0000000F
 /*****************************************************************************/
 
 #define      HOST_REG1                0x000
@@ -60,7 +60,6 @@
 /*****************************************************************************/
 #define      HOST_REG2                0x001
 
-
 /*****************************************************************************/
 #define      HOST_REG3                0x002
 
@@ -231,7 +230,6 @@
 /* Reserved [3:1] */
 #define      FLD_CIR_TEST_DIS           0x00000001
 
-
 /*****************************************************************************/
 #define      TEST_CTRL2               0x148
 #define      FLD_TSXCLK_POL_CTL       0x80000000
@@ -257,7 +255,6 @@
 #define      FLD_FLTRN_BIST_TST_DONE  0x00000008
 #define      FLD_VID_BIST_TST_DONE    0x00000007
 
-
 /*****************************************************************************/
 /* DirectIF registers definition have been moved to DIF_reg.h                */
 /*****************************************************************************/
@@ -268,7 +265,7 @@
 #define      FLD_AFD_FORCE_PAL        0x04000000
 #define      FLD_AFD_PALM_SEL         0x03000000
 #define      FLD_CKILL_MODE           0x00300000
-#define      FLD_COMB_NOTCH_MODE      0x00c00000       /* bit[19:18] */
+#define      FLD_COMB_NOTCH_MODE      0x00c00000	/* bit[19:18] */
 #define      FLD_CLR_LOCK_STAT        0x00020000
 #define      FLD_FAST_LOCK_MD         0x00010000
 #define      FLD_WCEN                 0x00008000
@@ -662,7 +659,6 @@
 #define      FLD_PLL_KI               0x00FF0000
 #define      FLD_PLL_MAX_OFFSET       0x0000FFFF
 
-
 /*****************************************************************************/
 #define      HTL_CTRL                 0x498
 /* Reserved [31:24] */
@@ -771,13 +767,12 @@
 #define      FLD_FIELD_PHASE_LIMIT    0x000000F0
 #define      FLD_HEAD_SW_DET_LIMIT    0x0000000F
 
-
 /*****************************************************************************/
 #define      DL_CTL                   0x800
-#define      DL_CTL_ADDRESS_LOW       0x800    /* Byte 1 in DL_CTL */
-#define      DL_CTL_ADDRESS_HIGH      0x801    /* Byte 2 in DL_CTL */
-#define      DL_CTL_DATA              0x802    /* Byte 3 in DL_CTL */
-#define      DL_CTL_CONTROL           0x803    /* Byte 4 in DL_CTL */
+#define      DL_CTL_ADDRESS_LOW       0x800	/* Byte 1 in DL_CTL */
+#define      DL_CTL_ADDRESS_HIGH      0x801	/* Byte 2 in DL_CTL */
+#define      DL_CTL_DATA              0x802	/* Byte 3 in DL_CTL */
+#define      DL_CTL_CONTROL           0x803	/* Byte 4 in DL_CTL */
 /* Reserved [31:5] */
 #define      FLD_START_8051           0x10000000
 #define      FLD_DL_ENABLE            0x08000000
@@ -795,8 +790,8 @@
 #define      AUD_BUILD_NUM            0x806
 #define      AUD_VER_NUM              0x807
 #define      STD_DET_CTL              0x808
-#define      STD_DET_CTL_AUD_CTL      0x808  /* Byte 1 in STD_DET_CTL */
-#define      STD_DET_CTL_PREF_MODE    0x809  /* Byte 2 in STD_DET_CTL */
+#define      STD_DET_CTL_AUD_CTL      0x808	/* Byte 1 in STD_DET_CTL */
+#define      STD_DET_CTL_PREF_MODE    0x809	/* Byte 2 in STD_DET_CTL */
 #define      FLD_SPARE_CTL0           0xFF000000
 #define      FLD_DIS_DBX              0x00800000
 #define      FLD_DIS_BTSC             0x00400000
@@ -1424,7 +1419,6 @@
 #define      FLD_I2S_OUT_WS_SEL       0x00000020
 #define      FLD_I2S_OUT_BCN_DEL      0x0000001F
 
-
 /*****************************************************************************/
 #define      AC97_CTL                 0x91C
 /* Reserved [31:26] */
@@ -1437,7 +1431,6 @@
 /* Reserved [7:1] */
 #define      FLD_AC97_SHUTDOWN        0x00000001
 
-
 /* Cx231xx redefine */
 #define      QPSK_IAGC_CTL1  0x94c
 #define      QPSK_IAGC_CTL2  0x950
@@ -1450,7 +1443,6 @@
 #define      QPSK_EQ_CTL  0x96c
 #define      QPSK_LOCK_CTL  0x970
 
-
 /*****************************************************************************/
 #define      FM1_DFT_CTL              0x9A8
 #define      FLD_FM1_DFT_THRESHOLD    0xFFFF0000
@@ -1494,8 +1486,6 @@
 /* Reserved [15:6] */
 #define      FLD_AFE_VGA_OUT          0x0000003F
 
-
-
 /*****************************************************************************/
 #define      MTS_GAIN_STATUS          0x9BC
 /* Reserved [31:14] */
@@ -1538,19 +1528,18 @@
 #define      VID_FMT_SECAM             12
 #define      VID_FMT_SECAM_60          13
 
-#define      INPUT_MODE_CVBS_0         0   /* INPUT_MODE_VALUE(0) */
-#define      INPUT_MODE_YC_1           1   /* INPUT_MODE_VALUE(1) */
-#define      INPUT_MODE_YC2_2          2   /* INPUT_MODE_VALUE(2) */
-#define      INPUT_MODE_YUV_3          3   /* INPUT_MODE_VALUE(3) */
-
+#define      INPUT_MODE_CVBS_0         0	/* INPUT_MODE_VALUE(0) */
+#define      INPUT_MODE_YC_1           1	/* INPUT_MODE_VALUE(1) */
+#define      INPUT_MODE_YC2_2          2	/* INPUT_MODE_VALUE(2) */
+#define      INPUT_MODE_YUV_3          3	/* INPUT_MODE_VALUE(3) */
 
-#define      LUMA_LPF_LOW_BANDPASS     0   /* 0.6Mhz lowpass filter bandwidth */
-#define      LUMA_LPF_MEDIUM_BANDPASS  1   /* 1.0Mhz lowpass filter bandwidth */
-#define      LUMA_LPF_HIGH_BANDPASS    2   /* 1.5Mhz lowpass filter bandwidth */
+#define      LUMA_LPF_LOW_BANDPASS     0	/* 0.6Mhz lowpass filter bandwidth */
+#define      LUMA_LPF_MEDIUM_BANDPASS  1	/* 1.0Mhz lowpass filter bandwidth */
+#define      LUMA_LPF_HIGH_BANDPASS    2	/* 1.5Mhz lowpass filter bandwidth */
 
-#define      UV_LPF_LOW_BANDPASS       0   /* 0.6Mhz lowpass filter bandwidth */
-#define      UV_LPF_MEDIUM_BANDPASS    1   /* 1.0Mhz lowpass filter bandwidth */
-#define      UV_LPF_HIGH_BANDPASS      2   /* 1.5Mhz lowpass filter bandwidth */
+#define      UV_LPF_LOW_BANDPASS       0	/* 0.6Mhz lowpass filter bandwidth */
+#define      UV_LPF_MEDIUM_BANDPASS    1	/* 1.0Mhz lowpass filter bandwidth */
+#define      UV_LPF_HIGH_BANDPASS      2	/* 1.5Mhz lowpass filter bandwidth */
 
 #define      TWO_TAP_FILT              0
 #define      THREE_TAP_FILT            1

+ 287 - 268
drivers/media/video/cx231xx/cx231xx-vbi.c

@@ -2,7 +2,7 @@
    cx231xx_vbi.c - driver for Conexant Cx23100/101/102 USB video capture devices
 
    Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on cx88 driver
+	Based on cx88 driver
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -39,8 +39,7 @@
 #include "cx231xx.h"
 #include "cx231xx-vbi.h"
 
-static inline void print_err_status(struct cx231xx *dev,
-				     int packet, int status)
+static inline void print_err_status(struct cx231xx *dev, int packet, int status)
 {
 	char *errmsg = "Unknown";
 
@@ -71,10 +70,11 @@ static inline void print_err_status(struct cx231xx *dev,
 		break;
 	}
 	if (packet < 0) {
-		cx231xx_err(DRIVER_NAME "URB status %d [%s].\n",	status, errmsg);
+		cx231xx_err(DRIVER_NAME "URB status %d [%s].\n", status,
+			    errmsg);
 	} else {
 		cx231xx_err(DRIVER_NAME "URB packet %d, status %d [%s].\n",
-			       packet, status, errmsg);
+			    packet, status, errmsg);
 	}
 }
 
@@ -83,12 +83,12 @@ static inline void print_err_status(struct cx231xx *dev,
  */
 static inline int cx231xx_isoc_vbi_copy(struct cx231xx *dev, struct urb *urb)
 {
-	struct cx231xx_buffer    *buf;
-	struct cx231xx_dmaqueue  *dma_q = urb->context;
-	int   rc = 1;
+	struct cx231xx_buffer *buf;
+	struct cx231xx_dmaqueue *dma_q = urb->context;
+	int rc = 1;
 	unsigned char *p_buffer;
-    u32 bytes_parsed = 0, buffer_size = 0;
-    u8 sav_eav = 0;
+	u32 bytes_parsed = 0, buffer_size = 0;
+	u8 sav_eav = 0;
 
 	if (!dev)
 		return 0;
@@ -104,60 +104,58 @@ static inline int cx231xx_isoc_vbi_copy(struct cx231xx *dev, struct urb *urb)
 
 	buf = dev->vbi_mode.isoc_ctl.buf;
 
-    /* get buffer pointer and length */
-    p_buffer = urb->transfer_buffer;
-    buffer_size = urb->actual_length;
-
-    if (buffer_size > 0) {
-
-        bytes_parsed = 0;
-
-        if(dma_q->is_partial_line) {
-            /* Handle the case where we were working on a partial line */
-            sav_eav = dma_q->last_sav;
-        } else {
-            /* Check for a SAV/EAV overlapping the buffer boundary */
-            sav_eav = cx231xx_find_boundary_SAV_EAV(p_buffer, dma_q->partial_buf, &bytes_parsed);
-        }
-
-        sav_eav &= 0xF0;
-        /* Get the first line if we have some portion of an SAV/EAV from the last buffer
-           or a partial line */
-        if(sav_eav) {
-            bytes_parsed += cx231xx_get_vbi_line(dev, dma_q,
-                sav_eav,                        /* SAV/EAV */
-                p_buffer + bytes_parsed,        /* p_buffer */
-                buffer_size - bytes_parsed);    /* buffer size */
-        }
-
-        /* Now parse data that is completely in this buffer */
-        dma_q->is_partial_line = 0;
-
-        while(bytes_parsed < buffer_size)
-        {
-            u32 bytes_used = 0;
-
-            sav_eav = cx231xx_find_next_SAV_EAV(
-                p_buffer + bytes_parsed,        /* p_buffer */
-                buffer_size - bytes_parsed,     /* buffer size */
-                &bytes_used);                   /* Receives bytes used to get SAV/EAV */
-
-	        bytes_parsed += bytes_used;
-
-            sav_eav &= 0xF0;
-            if(sav_eav && (bytes_parsed < buffer_size))
-            {
-                bytes_parsed += cx231xx_get_vbi_line(dev, dma_q,
-                    sav_eav,                        /* SAV/EAV */
-                    p_buffer + bytes_parsed,        /* p_buffer */
-                    buffer_size - bytes_parsed);    /* buffer size */
-            }
-        }
-
-        /* Save the last four bytes of the buffer so we can check the buffer boundary
-           condition next time */
-        memcpy(dma_q->partial_buf, p_buffer + buffer_size - 4, 4);
-        bytes_parsed = 0;
+	/* get buffer pointer and length */
+	p_buffer = urb->transfer_buffer;
+	buffer_size = urb->actual_length;
+
+	if (buffer_size > 0) {
+
+		bytes_parsed = 0;
+
+		if (dma_q->is_partial_line) {
+			/* Handle the case where we were working on a partial line */
+			sav_eav = dma_q->last_sav;
+		} else {
+			/* Check for a SAV/EAV overlapping the buffer boundary */
+			sav_eav =
+			    cx231xx_find_boundary_SAV_EAV(p_buffer,
+							  dma_q->partial_buf,
+							  &bytes_parsed);
+		}
+
+		sav_eav &= 0xF0;
+		/* Get the first line if we have some portion of an SAV/EAV from the last buffer
+		   or a partial line */
+		if (sav_eav) {
+			bytes_parsed += cx231xx_get_vbi_line(dev, dma_q, sav_eav,	/* SAV/EAV */
+							     p_buffer + bytes_parsed,	/* p_buffer */
+							     buffer_size - bytes_parsed);	/* buffer size */
+		}
+
+		/* Now parse data that is completely in this buffer */
+		dma_q->is_partial_line = 0;
+
+		while (bytes_parsed < buffer_size) {
+			u32 bytes_used = 0;
+
+			sav_eav = cx231xx_find_next_SAV_EAV(p_buffer + bytes_parsed,	/* p_buffer */
+							    buffer_size - bytes_parsed,	/* buffer size */
+							    &bytes_used);	/* Receives bytes used to get SAV/EAV */
+
+			bytes_parsed += bytes_used;
+
+			sav_eav &= 0xF0;
+			if (sav_eav && (bytes_parsed < buffer_size)) {
+				bytes_parsed += cx231xx_get_vbi_line(dev, dma_q, sav_eav,	/* SAV/EAV */
+								     p_buffer + bytes_parsed,	/* p_buffer */
+								     buffer_size - bytes_parsed);	/* buffer size */
+			}
+		}
+
+		/* Save the last four bytes of the buffer so we can check the buffer boundary
+		   condition next time */
+		memcpy(dma_q->partial_buf, p_buffer + buffer_size - 4, 4);
+		bytes_parsed = 0;
 	}
 
 	return rc;
@@ -168,25 +166,26 @@ static inline int cx231xx_isoc_vbi_copy(struct cx231xx *dev, struct urb *urb)
    ------------------------------------------------------------------*/
 
 static int
-vbi_buffer_setup(struct videobuf_queue *vq, unsigned int *count, unsigned int *size)
+vbi_buffer_setup(struct videobuf_queue *vq, unsigned int *count,
+		 unsigned int *size)
 {
 	struct cx231xx_fh *fh = vq->priv_data;
-	struct cx231xx        *dev = fh->dev;
-    u32 height = 0;
+	struct cx231xx *dev = fh->dev;
+	u32 height = 0;
 
 	height = ((dev->norm & V4L2_STD_625_50) ?
-                               PAL_VBI_LINES : NTSC_VBI_LINES) ;
+		  PAL_VBI_LINES : NTSC_VBI_LINES);
 
-	*size = ( dev->width * height * 2);
+	*size = (dev->width * height * 2);
 	if (0 == *count)
 		*count = CX231XX_DEF_VBI_BUF;
 
 	if (*count < CX231XX_MIN_BUF)
 		*count = CX231XX_MIN_BUF;
 
-    /* call VBI setup if required */
+	/* call VBI setup if required */
 	/* cx231xx_i2c_call_clients(&dev->i2c_bus[1], VIDIOC_S_FREQUENCY, &f);
-    */
+	 */
 
 	return 0;
 }
@@ -194,8 +193,8 @@ vbi_buffer_setup(struct videobuf_queue *vq, unsigned int *count, unsigned int *s
 /* This is called *without* dev->slock held; please keep it that way */
 static void free_buffer(struct videobuf_queue *vq, struct cx231xx_buffer *buf)
 {
-	struct cx231xx_fh     *fh  = vq->priv_data;
-	struct cx231xx        *dev = fh->dev;
+	struct cx231xx_fh *fh = vq->priv_data;
+	struct cx231xx *dev = fh->dev;
 	unsigned long flags = 0;
 	if (in_interrupt())
 		BUG();
@@ -208,7 +207,7 @@ static void free_buffer(struct videobuf_queue *vq, struct cx231xx_buffer *buf)
 	   This should be safe; by the time we get here, the buffer isn't
 	   queued anymore. If we ever start marking the buffers as
 	   VIDEOBUF_ACTIVE, it won't be, though.
-	*/
+	 */
 	spin_lock_irqsave(&dev->vbi_mode.slock, flags);
 	if (dev->vbi_mode.isoc_ctl.buf == buf)
 		dev->vbi_mode.isoc_ctl.buf = NULL;
@@ -220,25 +219,26 @@ static void free_buffer(struct videobuf_queue *vq, struct cx231xx_buffer *buf)
 
 static int
 vbi_buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
-						enum v4l2_field field)
+		   enum v4l2_field field)
 {
-	struct cx231xx_fh     *fh  = vq->priv_data;
-	struct cx231xx_buffer *buf = container_of(vb, struct cx231xx_buffer, vb);
-	struct cx231xx        *dev = fh->dev;
-	int                  rc = 0, urb_init = 0;
-    u32 height = 0;
+	struct cx231xx_fh *fh = vq->priv_data;
+	struct cx231xx_buffer *buf =
+	    container_of(vb, struct cx231xx_buffer, vb);
+	struct cx231xx *dev = fh->dev;
+	int rc = 0, urb_init = 0;
+	u32 height = 0;
 
 	height = ((dev->norm & V4L2_STD_625_50) ?
-                               PAL_VBI_LINES : NTSC_VBI_LINES) ;
-	buf->vb.size = ( (dev->width << 1) * height );
+		  PAL_VBI_LINES : NTSC_VBI_LINES);
+	buf->vb.size = ((dev->width << 1) * height);
 
-	if (0 != buf->vb.baddr  &&  buf->vb.bsize < buf->vb.size)
+	if (0 != buf->vb.baddr && buf->vb.bsize < buf->vb.size)
 		return -EINVAL;
 
-	buf->vb.width  = dev->width;
+	buf->vb.width = dev->width;
 	buf->vb.height = height;
-	buf->vb.field  = field;
-	buf->vb.field  = V4L2_FIELD_SEQ_TB;
+	buf->vb.field = field;
+	buf->vb.field = V4L2_FIELD_SEQ_TB;
 
 	if (VIDEOBUF_NEEDS_INIT == buf->vb.state) {
 		rc = videobuf_iolock(vq, &buf->vb, NULL);
@@ -251,8 +251,9 @@ vbi_buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
 
 	if (urb_init) {
 		rc = cx231xx_init_vbi_isoc(dev, CX231XX_NUM_VBI_PACKETS,
-				      CX231XX_NUM_VBI_BUFS, dev->vbi_mode.alt_max_pkt_size[0],
-				      cx231xx_isoc_vbi_copy);
+					   CX231XX_NUM_VBI_BUFS,
+					   dev->vbi_mode.alt_max_pkt_size[0],
+					   cx231xx_isoc_vbi_copy);
 		if (rc < 0)
 			goto fail;
 	}
@@ -260,7 +261,7 @@ vbi_buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
 	buf->vb.state = VIDEOBUF_PREPARED;
 	return 0;
 
-fail:
+      fail:
 	free_buffer(vq, buf);
 	return rc;
 }
@@ -268,10 +269,11 @@ fail:
 static void
 vbi_buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb)
 {
-	struct cx231xx_buffer    *buf     = container_of(vb, struct cx231xx_buffer, vb);
-	struct cx231xx_fh        *fh      = vq->priv_data;
-	struct cx231xx           *dev     = fh->dev;
-	struct cx231xx_dmaqueue  *vidq    = &dev->vbi_mode.vidq;
+	struct cx231xx_buffer *buf =
+	    container_of(vb, struct cx231xx_buffer, vb);
+	struct cx231xx_fh *fh = vq->priv_data;
+	struct cx231xx *dev = fh->dev;
+	struct cx231xx_dmaqueue *vidq = &dev->vbi_mode.vidq;
 
 	buf->vb.state = VIDEOBUF_QUEUED;
 	list_add_tail(&buf->vb.queue, &vidq->active);
@@ -279,29 +281,27 @@ vbi_buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb)
 }
 
 static void vbi_buffer_release(struct videobuf_queue *vq,
-				struct videobuf_buffer *vb)
+			       struct videobuf_buffer *vb)
 {
-	struct cx231xx_buffer   *buf  = container_of(vb, struct cx231xx_buffer, vb);
-    /*
-	struct cx231xx_fh       *fh   = vq->priv_data;
-	struct cx231xx          *dev  = (struct cx231xx *)fh->dev;
+	struct cx231xx_buffer *buf =
+	    container_of(vb, struct cx231xx_buffer, vb);
+	/*
+	   struct cx231xx_fh       *fh   = vq->priv_data;
+	   struct cx231xx          *dev  = (struct cx231xx *)fh->dev;
 
-	cx231xx_info(DRIVER_NAME "cx231xx: called vbi_buffer_release\n");
-    */
+	   cx231xx_info(DRIVER_NAME "cx231xx: called vbi_buffer_release\n");
+	 */
 
 	free_buffer(vq, buf);
 }
 
-
 struct videobuf_queue_ops cx231xx_vbi_qops = {
-	.buf_setup      = vbi_buffer_setup,
-	.buf_prepare    = vbi_buffer_prepare,
-	.buf_queue      = vbi_buffer_queue,
-	.buf_release    = vbi_buffer_release,
+	.buf_setup = vbi_buffer_setup,
+	.buf_prepare = vbi_buffer_prepare,
+	.buf_queue = vbi_buffer_queue,
+	.buf_release = vbi_buffer_release,
 };
 
-
-
 /* ------------------------------------------------------------------
 	URB control
    ------------------------------------------------------------------*/
@@ -311,23 +311,24 @@ struct videobuf_queue_ops cx231xx_vbi_qops = {
  */
 static void cx231xx_irq_vbi_callback(struct urb *urb)
 {
-	struct cx231xx_dmaqueue  *dma_q = urb->context;
-    struct cx231xx_video_mode *vmode = container_of(dma_q, struct cx231xx_video_mode, vidq);
-    struct cx231xx *dev = container_of(vmode, struct cx231xx, vbi_mode);
+	struct cx231xx_dmaqueue *dma_q = urb->context;
+	struct cx231xx_video_mode *vmode =
+	    container_of(dma_q, struct cx231xx_video_mode, vidq);
+	struct cx231xx *dev = container_of(vmode, struct cx231xx, vbi_mode);
 	int rc;
 
-
-    switch (urb->status) {
-	    case 0:             /* success */
-	    case -ETIMEDOUT:    /* NAK */
-		    break;
-	    case -ECONNRESET:   /* kill */
-	    case -ENOENT:
-	    case -ESHUTDOWN:
-		    return;
-	    default:            /* error */
-		   cx231xx_err(DRIVER_NAME "urb completition error %d.\n", urb->status);
-		    break;
+	switch (urb->status) {
+	case 0:		/* success */
+	case -ETIMEDOUT:	/* NAK */
+		break;
+	case -ECONNRESET:	/* kill */
+	case -ENOENT:
+	case -ESHUTDOWN:
+		return;
+	default:		/* error */
+		cx231xx_err(DRIVER_NAME "urb completition error %d.\n",
+			    urb->status);
+		break;
 	}
 
 	/* Copy data from URB */
@@ -341,7 +342,7 @@ static void cx231xx_irq_vbi_callback(struct urb *urb)
 	urb->status = usb_submit_urb(urb, GFP_ATOMIC);
 	if (urb->status) {
 		cx231xx_err(DRIVER_NAME "urb resubmit failed (error=%i)\n",
-			       urb->status);
+			    urb->status);
 	}
 }
 
@@ -353,21 +354,23 @@ void cx231xx_uninit_vbi_isoc(struct cx231xx *dev)
 	struct urb *urb;
 	int i;
 
-	cx231xx_info(DRIVER_NAME  "cx231xx: called cx231xx_uninit_vbi_isoc\n");
+	cx231xx_info(DRIVER_NAME "cx231xx: called cx231xx_uninit_vbi_isoc\n");
 
 	dev->vbi_mode.isoc_ctl.nfields = -1;
 	for (i = 0; i < dev->vbi_mode.isoc_ctl.num_bufs; i++) {
 		urb = dev->vbi_mode.isoc_ctl.urb[i];
 		if (urb) {
-            if (!irqs_disabled())
-			    usb_kill_urb(urb);
-            else
-			    usb_unlink_urb(urb);
+			if (!irqs_disabled())
+				usb_kill_urb(urb);
+			else
+				usb_unlink_urb(urb);
 
 			if (dev->vbi_mode.isoc_ctl.transfer_buffer[i]) {
 
-                kfree(dev->vbi_mode.isoc_ctl.transfer_buffer[i]);
-		        dev->vbi_mode.isoc_ctl.transfer_buffer[i] = NULL;
+				kfree(dev->vbi_mode.isoc_ctl.
+				      transfer_buffer[i]);
+				dev->vbi_mode.isoc_ctl.transfer_buffer[i] =
+				    NULL;
 			}
 			usb_free_urb(urb);
 			dev->vbi_mode.isoc_ctl.urb[i] = NULL;
@@ -384,14 +387,16 @@ void cx231xx_uninit_vbi_isoc(struct cx231xx *dev)
 
 	cx231xx_capture_start(dev, 0, Vbi);
 }
+
 EXPORT_SYMBOL_GPL(cx231xx_uninit_vbi_isoc);
 
 /*
  * Allocate URBs and start IRQ
  */
 int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
-		     int num_bufs, int max_pkt_size,
-		     int (*isoc_copy) (struct cx231xx *dev, struct urb *urb))
+			  int num_bufs, int max_pkt_size,
+			  int (*isoc_copy) (struct cx231xx * dev,
+					    struct urb * urb))
 {
 	struct cx231xx_dmaqueue *dma_q = &dev->vbi_mode.vidq;
 	int i;
@@ -404,31 +409,33 @@ int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
 	/* De-allocates all pending stuff */
 	cx231xx_uninit_vbi_isoc(dev);
 
-    /* clear if any halt */
-    usb_clear_halt(dev->udev, usb_rcvbulkpipe(dev->udev, dev->vbi_mode.end_point_addr));
-
+	/* clear if any halt */
+	usb_clear_halt(dev->udev,
+		       usb_rcvbulkpipe(dev->udev,
+				       dev->vbi_mode.end_point_addr));
 
 	dev->vbi_mode.isoc_ctl.isoc_copy = isoc_copy;
 	dev->vbi_mode.isoc_ctl.num_bufs = num_bufs;
-    dma_q->pos = 0;
-    dma_q->is_partial_line = 0;
-    dma_q->last_sav = 0;
-    dma_q->current_field = -1;
-    dma_q->bytes_left_in_line = dev->width << 1;
-    dma_q->lines_per_field = ((dev->norm & V4L2_STD_625_50) ?
-                               PAL_VBI_LINES : NTSC_VBI_LINES) ;
-    dma_q->lines_completed = 0;
-    for(i = 0; i < 8 ; i++)
-        dma_q->partial_buf[i] = 0;
-
-	dev->vbi_mode.isoc_ctl.urb = kzalloc(sizeof(void *)*num_bufs,  GFP_KERNEL);
+	dma_q->pos = 0;
+	dma_q->is_partial_line = 0;
+	dma_q->last_sav = 0;
+	dma_q->current_field = -1;
+	dma_q->bytes_left_in_line = dev->width << 1;
+	dma_q->lines_per_field = ((dev->norm & V4L2_STD_625_50) ?
+				  PAL_VBI_LINES : NTSC_VBI_LINES);
+	dma_q->lines_completed = 0;
+	for (i = 0; i < 8; i++)
+		dma_q->partial_buf[i] = 0;
+
+	dev->vbi_mode.isoc_ctl.urb =
+	    kzalloc(sizeof(void *) * num_bufs, GFP_KERNEL);
 	if (!dev->vbi_mode.isoc_ctl.urb) {
 		cx231xx_errdev("cannot alloc memory for usb buffers\n");
 		return -ENOMEM;
 	}
 
-	dev->vbi_mode.isoc_ctl.transfer_buffer = kzalloc(sizeof(void *)*num_bufs,
-					      GFP_KERNEL);
+	dev->vbi_mode.isoc_ctl.transfer_buffer =
+	    kzalloc(sizeof(void *) * num_bufs, GFP_KERNEL);
 	if (!dev->vbi_mode.isoc_ctl.transfer_buffer) {
 		cx231xx_errdev("cannot allocate memory for usbtransfer\n");
 		kfree(dev->vbi_mode.isoc_ctl.urb);
@@ -445,27 +452,29 @@ int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
 
 		urb = usb_alloc_urb(0, GFP_KERNEL);
 		if (!urb) {
-            cx231xx_err(DRIVER_NAME ": cannot alloc isoc_ctl.urb %i\n", i);
+			cx231xx_err(DRIVER_NAME
+				    ": cannot alloc isoc_ctl.urb %i\n", i);
 			cx231xx_uninit_vbi_isoc(dev);
 			return -ENOMEM;
 		}
 		dev->vbi_mode.isoc_ctl.urb[i] = urb;
-        urb->transfer_flags = 0;
+		urb->transfer_flags = 0;
 
-        dev->vbi_mode.isoc_ctl.transfer_buffer[i] = kzalloc(sb_size, GFP_KERNEL);
+		dev->vbi_mode.isoc_ctl.transfer_buffer[i] =
+		    kzalloc(sb_size, GFP_KERNEL);
 		if (!dev->vbi_mode.isoc_ctl.transfer_buffer[i]) {
-            cx231xx_err(DRIVER_NAME ": unable to allocate %i bytes for transfer"
-					" buffer %i%s\n",
-					sb_size, i,
-					in_interrupt()?" while in int":"");
+			cx231xx_err(DRIVER_NAME
+				    ": unable to allocate %i bytes for transfer"
+				    " buffer %i%s\n", sb_size, i,
+				    in_interrupt()? " while in int" : "");
 			cx231xx_uninit_vbi_isoc(dev);
 			return -ENOMEM;
 		}
 
 		pipe = usb_rcvbulkpipe(dev->udev, dev->vbi_mode.end_point_addr);
-        usb_fill_bulk_urb(urb, dev->udev, pipe,
-				 dev->vbi_mode.isoc_ctl.transfer_buffer[i], sb_size,
-				 cx231xx_irq_vbi_callback, dma_q);
+		usb_fill_bulk_urb(urb, dev->udev, pipe,
+				  dev->vbi_mode.isoc_ctl.transfer_buffer[i],
+				  sb_size, cx231xx_irq_vbi_callback, dma_q);
 	}
 
 	init_waitqueue_head(&dma_q->wq);
@@ -474,55 +483,58 @@ int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
 	for (i = 0; i < dev->vbi_mode.isoc_ctl.num_bufs; i++) {
 		rc = usb_submit_urb(dev->vbi_mode.isoc_ctl.urb[i], GFP_ATOMIC);
 		if (rc) {
-            cx231xx_err(DRIVER_NAME ": submit of urb %i failed (error=%i)\n", i,
-				   rc);
+			cx231xx_err(DRIVER_NAME
+				    ": submit of urb %i failed (error=%i)\n", i,
+				    rc);
 			cx231xx_uninit_vbi_isoc(dev);
 			return rc;
 		}
 	}
 
-    cx231xx_capture_start(dev, 1, Vbi);
+	cx231xx_capture_start(dev, 1, Vbi);
 
 	return 0;
 }
-EXPORT_SYMBOL_GPL(cx231xx_init_vbi_isoc);
 
+EXPORT_SYMBOL_GPL(cx231xx_init_vbi_isoc);
 
-u32 cx231xx_get_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                           u8 sav_eav, u8 *p_buffer, u32 buffer_size)
+u32 cx231xx_get_vbi_line(struct cx231xx * dev, struct cx231xx_dmaqueue * dma_q,
+			 u8 sav_eav, u8 * p_buffer, u32 buffer_size)
 {
-    u32 bytes_copied = 0;
-    int current_field = -1;
+	u32 bytes_copied = 0;
+	int current_field = -1;
 
-    switch(sav_eav) {
+	switch (sav_eav) {
 
-        case SAV_VBI_FIELD1:
-            current_field = 1;
-            break;
+	case SAV_VBI_FIELD1:
+		current_field = 1;
+		break;
 
-        case SAV_VBI_FIELD2:
-            current_field = 2;
-            break;
-        default:
-            break;
-    }
+	case SAV_VBI_FIELD2:
+		current_field = 2;
+		break;
+	default:
+		break;
+	}
 
-    if(current_field < 0 )
-        return bytes_copied;
+	if (current_field < 0)
+		return bytes_copied;
 
-    dma_q->last_sav = sav_eav;
+	dma_q->last_sav = sav_eav;
 
-    bytes_copied = cx231xx_copy_vbi_line(dev, dma_q, p_buffer, buffer_size, current_field);
+	bytes_copied =
+	    cx231xx_copy_vbi_line(dev, dma_q, p_buffer, buffer_size,
+				  current_field);
 
-    return bytes_copied;
+	return bytes_copied;
 }
 
 /*
  * Announces that a buffer were filled and request the next
  */
 static inline void vbi_buffer_filled(struct cx231xx *dev,
-				  struct cx231xx_dmaqueue *dma_q,
-				  struct cx231xx_buffer *buf)
+				     struct cx231xx_dmaqueue *dma_q,
+				     struct cx231xx_buffer *buf)
 {
 	/* Advice that buffer was filled */
 	/* cx231xx_info(DRIVER_NAME "[%p/%d] wakeup\n", buf, buf->vb.i); */
@@ -537,80 +549,83 @@ static inline void vbi_buffer_filled(struct cx231xx *dev,
 	wake_up(&buf->vb.done);
 }
 
-u32 cx231xx_copy_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                            u8 *p_line, u32 length, int field_number)
+u32 cx231xx_copy_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
+			  u8 * p_line, u32 length, int field_number)
 {
-    u32 bytes_to_copy;
-    struct cx231xx_buffer *buf;
-    u32 _line_size = dev->width * 2;
+	u32 bytes_to_copy;
+	struct cx231xx_buffer *buf;
+	u32 _line_size = dev->width * 2;
 
-    if( dma_q->current_field != field_number )  {
-        cx231xx_reset_vbi_buffer(dev, dma_q);
-    }
+	if (dma_q->current_field != field_number) {
+		cx231xx_reset_vbi_buffer(dev, dma_q);
+	}
 
-    /* get the buffer pointer */
-    buf = dev->vbi_mode.isoc_ctl.buf;
+	/* get the buffer pointer */
+	buf = dev->vbi_mode.isoc_ctl.buf;
 
-    /* Remember the field number for next time */
-    dma_q->current_field = field_number;
+	/* Remember the field number for next time */
+	dma_q->current_field = field_number;
 
-    bytes_to_copy = dma_q->bytes_left_in_line;
-    if(bytes_to_copy > length)
-        bytes_to_copy = length;
+	bytes_to_copy = dma_q->bytes_left_in_line;
+	if (bytes_to_copy > length)
+		bytes_to_copy = length;
 
-    if(dma_q->lines_completed >= dma_q->lines_per_field) {
-        dma_q->bytes_left_in_line -= bytes_to_copy;
-        dma_q->is_partial_line = (dma_q->bytes_left_in_line == 0) ? 0 : 1;
-        return 0;
-    }
+	if (dma_q->lines_completed >= dma_q->lines_per_field) {
+		dma_q->bytes_left_in_line -= bytes_to_copy;
+		dma_q->is_partial_line =
+		    (dma_q->bytes_left_in_line == 0) ? 0 : 1;
+		return 0;
+	}
 
-    dma_q->is_partial_line = 1;
+	dma_q->is_partial_line = 1;
 
-    /* If we don't have a buffer, just return the number of bytes we would
-       have copied if we had a buffer. */
-    if(!buf) {
-        dma_q->bytes_left_in_line -= bytes_to_copy;
-        dma_q->is_partial_line = (dma_q->bytes_left_in_line == 0) ? 0 : 1;
-        return bytes_to_copy;
-    }
+	/* If we don't have a buffer, just return the number of bytes we would
+	   have copied if we had a buffer. */
+	if (!buf) {
+		dma_q->bytes_left_in_line -= bytes_to_copy;
+		dma_q->is_partial_line =
+		    (dma_q->bytes_left_in_line == 0) ? 0 : 1;
+		return bytes_to_copy;
+	}
 
-    /* copy the data to video buffer */
-    cx231xx_do_vbi_copy(dev, dma_q, p_line, bytes_to_copy);
+	/* copy the data to video buffer */
+	cx231xx_do_vbi_copy(dev, dma_q, p_line, bytes_to_copy);
 
-    dma_q->pos += bytes_to_copy;
-    dma_q->bytes_left_in_line -= bytes_to_copy;
+	dma_q->pos += bytes_to_copy;
+	dma_q->bytes_left_in_line -= bytes_to_copy;
 
-    if(dma_q->bytes_left_in_line == 0) {
+	if (dma_q->bytes_left_in_line == 0) {
 
-        dma_q->bytes_left_in_line = _line_size;
-        dma_q->lines_completed++;
-        dma_q->is_partial_line = 0;
+		dma_q->bytes_left_in_line = _line_size;
+		dma_q->lines_completed++;
+		dma_q->is_partial_line = 0;
 
-        if(cx231xx_is_vbi_buffer_done(dev, dma_q) && buf ) {
+		if (cx231xx_is_vbi_buffer_done(dev, dma_q) && buf) {
 
-            vbi_buffer_filled(dev, dma_q, buf);
+			vbi_buffer_filled(dev, dma_q, buf);
 
-            dma_q->pos = 0;
-            buf = NULL;
-            dma_q->lines_completed = 0;
-        }
-    }
+			dma_q->pos = 0;
+			buf = NULL;
+			dma_q->lines_completed = 0;
+		}
+	}
 
-    return bytes_to_copy;
+	return bytes_to_copy;
 }
 
 /*
  * video-buf generic routine to get the next available buffer
  */
 static inline void get_next_vbi_buf(struct cx231xx_dmaqueue *dma_q,
-					  struct cx231xx_buffer **buf)
+				    struct cx231xx_buffer **buf)
 {
-    struct cx231xx_video_mode *vmode = container_of(dma_q, struct cx231xx_video_mode, vidq);
-    struct cx231xx *dev = container_of(vmode, struct cx231xx, vbi_mode);
+	struct cx231xx_video_mode *vmode =
+	    container_of(dma_q, struct cx231xx_video_mode, vidq);
+	struct cx231xx *dev = container_of(vmode, struct cx231xx, vbi_mode);
 	char *outp;
 
 	if (list_empty(&dma_q->active)) {
-        cx231xx_err(DRIVER_NAME ": No active queue to serve\n");
+		cx231xx_err(DRIVER_NAME ": No active queue to serve\n");
 		dev->vbi_mode.isoc_ctl.buf = NULL;
 		*buf = NULL;
 		return;
@@ -628,66 +643,70 @@ static inline void get_next_vbi_buf(struct cx231xx_dmaqueue *dma_q,
 	return;
 }
 
-
-void cx231xx_reset_vbi_buffer(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q)
+void cx231xx_reset_vbi_buffer(struct cx231xx *dev,
+			      struct cx231xx_dmaqueue *dma_q)
 {
-    struct cx231xx_buffer *buf;
+	struct cx231xx_buffer *buf;
 
-    buf = dev->vbi_mode.isoc_ctl.buf;
+	buf = dev->vbi_mode.isoc_ctl.buf;
 
-    if(buf == NULL) {
+	if (buf == NULL) {
 
-        /* first try to get the buffer */
-        get_next_vbi_buf(dma_q, &buf);
+		/* first try to get the buffer */
+		get_next_vbi_buf(dma_q, &buf);
 
-        dma_q->pos = 0;
-        dma_q->current_field = -1;
-    }
+		dma_q->pos = 0;
+		dma_q->current_field = -1;
+	}
 
-    dma_q->bytes_left_in_line = dev->width << 1;
-    dma_q->lines_completed = 0;
+	dma_q->bytes_left_in_line = dev->width << 1;
+	dma_q->lines_completed = 0;
 }
 
 int cx231xx_do_vbi_copy(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
-                    u8 *p_buffer, u32 bytes_to_copy)
+			u8 * p_buffer, u32 bytes_to_copy)
 {
-    u8 *p_out_buffer = NULL;
-    u32 current_line_bytes_copied = 0;
-    struct cx231xx_buffer *buf;
-    u32 _line_size = dev->width << 1;
-    void *startwrite;
-	int  offset, lencopy;
+	u8 *p_out_buffer = NULL;
+	u32 current_line_bytes_copied = 0;
+	struct cx231xx_buffer *buf;
+	u32 _line_size = dev->width << 1;
+	void *startwrite;
+	int offset, lencopy;
 
-    buf = dev->vbi_mode.isoc_ctl.buf;
+	buf = dev->vbi_mode.isoc_ctl.buf;
 
-    if (buf == NULL) {
-        return -1;
-    }
+	if (buf == NULL) {
+		return -1;
+	}
 
 	p_out_buffer = videobuf_to_vmalloc(&buf->vb);
 
-    if(dma_q->bytes_left_in_line != _line_size ) {
-        current_line_bytes_copied = _line_size - dma_q->bytes_left_in_line;
-    }
+	if (dma_q->bytes_left_in_line != _line_size) {
+		current_line_bytes_copied =
+		    _line_size - dma_q->bytes_left_in_line;
+	}
 
-    offset = ( dma_q->lines_completed * _line_size ) + current_line_bytes_copied;
+	offset =
+	    (dma_q->lines_completed * _line_size) + current_line_bytes_copied;
 
-    /* prepare destination address */
+	/* prepare destination address */
 	startwrite = p_out_buffer + offset;
 
-    lencopy =  dma_q->bytes_left_in_line > bytes_to_copy ? bytes_to_copy : dma_q->bytes_left_in_line;
+	lencopy =
+	    dma_q->bytes_left_in_line >
+	    bytes_to_copy ? bytes_to_copy : dma_q->bytes_left_in_line;
 
-    memcpy(startwrite, p_buffer, lencopy);
+	memcpy(startwrite, p_buffer, lencopy);
 
-    return 0;
+	return 0;
 }
 
-
-u8 cx231xx_is_vbi_buffer_done(struct cx231xx *dev,struct cx231xx_dmaqueue  *dma_q)
+u8 cx231xx_is_vbi_buffer_done(struct cx231xx * dev,
+			      struct cx231xx_dmaqueue * dma_q)
 {
-    u32 height = 0;
+	u32 height = 0;
 
 	height = ((dev->norm & V4L2_STD_625_50) ?
-                               PAL_VBI_LINES : NTSC_VBI_LINES) ;
-    return (dma_q->lines_completed == height)?1:0;
+		  PAL_VBI_LINES : NTSC_VBI_LINES);
+	return (dma_q->lines_completed == height) ? 1 : 0;
 }

+ 14 - 12
drivers/media/video/cx231xx/cx231xx-vbi.h

@@ -2,7 +2,7 @@
    cx231xx_vbi.h - driver for Conexant Cx23100/101/102 USB video capture devices
 
    Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on cx88 driver
+	Based on cx88 driver
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -24,8 +24,7 @@
 
 extern struct videobuf_queue_ops cx231xx_vbi_qops;
 
-
-#define   NTSC_VBI_START_LINE           10		/* line 10 - 21 */
+#define   NTSC_VBI_START_LINE           10	/* line 10 - 21 */
 #define   NTSC_VBI_END_LINE             21
 #define   NTSC_VBI_LINES                (NTSC_VBI_END_LINE - NTSC_VBI_START_LINE + 1)
 
@@ -41,21 +40,24 @@ extern struct videobuf_queue_ops cx231xx_vbi_qops;
 
 /* stream functions */
 int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
-		     int num_bufs, int max_pkt_size,
-		     int (*isoc_copy) (struct cx231xx *dev, struct urb *urb));
+			  int num_bufs, int max_pkt_size,
+			  int (*isoc_copy) (struct cx231xx * dev,
+					    struct urb * urb));
 
 void cx231xx_uninit_vbi_isoc(struct cx231xx *dev);
 
 /* vbi data copy functions */
-u32 cx231xx_get_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                           u8 sav_eav, u8 *p_buffer, u32 buffer_size);
-u32 cx231xx_copy_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                            u8 *p_line, u32 length, int field_number);
-void cx231xx_reset_vbi_buffer(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q);
+u32 cx231xx_get_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
+			 u8 sav_eav, u8 * p_buffer, u32 buffer_size);
+u32 cx231xx_copy_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
+			  u8 * p_line, u32 length, int field_number);
+void cx231xx_reset_vbi_buffer(struct cx231xx *dev,
+			      struct cx231xx_dmaqueue *dma_q);
 
 int cx231xx_do_vbi_copy(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
-                    u8 *p_buffer, u32 bytes_to_copy);
+			u8 * p_buffer, u32 bytes_to_copy);
 
-u8 cx231xx_is_vbi_buffer_done(struct cx231xx *dev,struct cx231xx_dmaqueue  *dma_q);
+u8 cx231xx_is_vbi_buffer_done(struct cx231xx *dev,
+			      struct cx231xx_dmaqueue *dma_q);
 
 #endif

File diff suppressed because it is too large
+ 378 - 381
drivers/media/video/cx231xx/cx231xx-video.c


+ 260 - 262
drivers/media/video/cx231xx/cx231xx.h

@@ -2,7 +2,7 @@
    cx231xx.h - driver for Conexant Cx23100/101/102 USB video capture devices
 
    Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
-        Based on em28xx driver
+	Based on em28xx driver
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -65,7 +65,7 @@
 
 /* Params for validated field */
 #define CX231XX_BOARD_NOT_VALIDATED     1
-#define CX231XX_BOARD_VALIDATED	        0
+#define CX231XX_BOARD_VALIDATED		0
 
 /* maximum number of cx231xx boards */
 #define CX231XX_MAXBOARDS               8
@@ -82,17 +82,14 @@
  */
 #define CX231XX_NUM_PACKETS             40
 
-
 /* default alternate; 0 means choose the best */
 #define CX231XX_PINOUT                  0
 
 #define CX231XX_INTERLACED_DEFAULT      1
 
-
 /* time to wait when stopping the isoc transfer */
 #define CX231XX_URB_TIMEOUT             msecs_to_jiffies(CX231XX_NUM_BUFS * CX231XX_NUM_PACKETS)
 
-
 enum cx231xx_mode {
 	CX231XX_SUSPEND,
 	CX231XX_ANALOG_MODE,
@@ -113,47 +110,45 @@ enum cx231xx_stream_state {
 struct cx231xx;
 
 struct cx231xx_usb_isoc_ctl {
-		/* max packet size of isoc transaction */
-	int				max_pkt_size;
+	/* max packet size of isoc transaction */
+	int max_pkt_size;
 
-		/* number of allocated urbs */
-	int				num_bufs;
+	/* number of allocated urbs */
+	int num_bufs;
 
-		/* urb for isoc transfers */
-	struct urb			**urb;
+	/* urb for isoc transfers */
+	struct urb **urb;
 
-		/* transfer buffers for isoc transfer */
-	char				**transfer_buffer;
+	/* transfer buffers for isoc transfer */
+	char **transfer_buffer;
 
-		/* Last buffer command and region */
-	u8				cmd;
-	int				pos, size, pktsize;
+	/* Last buffer command and region */
+	u8 cmd;
+	int pos, size, pktsize;
 
-		/* Last field: ODD or EVEN? */
-	int				field;
+	/* Last field: ODD or EVEN? */
+	int field;
 
-		/* Stores incomplete commands */
-	u32				tmp_buf;
-	int				tmp_buf_len;
+	/* Stores incomplete commands */
+	u32 tmp_buf;
+	int tmp_buf_len;
 
-		/* Stores already requested buffers */
-	struct cx231xx_buffer    	*buf;
+	/* Stores already requested buffers */
+	struct cx231xx_buffer *buf;
 
-		/* Stores the number of received fields */
-	int				nfields;
+	/* Stores the number of received fields */
+	int nfields;
 
-		/* isoc urb callback */
-	int (*isoc_copy) (struct cx231xx *dev, struct urb *urb);
+	/* isoc urb callback */
+	int (*isoc_copy) (struct cx231xx * dev, struct urb * urb);
 
 };
 
-
-
 struct cx231xx_fmt {
-	char  *name;
-	u32   fourcc;          /* v4l2 format id */
-    int   depth;
-    int   reg;
+	char *name;
+	u32 fourcc;		/* v4l2 format id */
+	int depth;
+	int reg;
 };
 
 /* buffer for one video frame */
@@ -167,24 +162,23 @@ struct cx231xx_buffer {
 };
 
 struct cx231xx_dmaqueue {
-	struct list_head   active;
-	struct list_head   queued;
+	struct list_head active;
+	struct list_head queued;
 
-	wait_queue_head_t  wq;
+	wait_queue_head_t wq;
 
 	/* Counters to control buffer fill */
-	int                pos;
-    u8                 is_partial_line;
-    u8                 partial_buf[8];
-    u8                 last_sav;
-    int                current_field;
-    u32                bytes_left_in_line;
-    u32                lines_completed;
-    u8                 field1_done;
-    u32                lines_per_field;
+	int pos;
+	u8 is_partial_line;
+	u8 partial_buf[8];
+	u8 last_sav;
+	int current_field;
+	u32 bytes_left_in_line;
+	u32 lines_completed;
+	u8 field1_done;
+	u32 lines_per_field;
 };
 
-
 /* inputs */
 
 #define MAX_CX231XX_INPUT               4
@@ -193,35 +187,35 @@ enum cx231xx_itype {
 	CX231XX_VMUX_COMPOSITE1 = 1,
 	CX231XX_VMUX_SVIDEO,
 	CX231XX_VMUX_TELEVISION,
-    CX231XX_VMUX_CABLE,
-    CX231XX_RADIO,
-    CX231XX_VMUX_DVB,
+	CX231XX_VMUX_CABLE,
+	CX231XX_RADIO,
+	CX231XX_VMUX_DVB,
 	CX231XX_VMUX_DEBUG
 };
 
 enum cx231xx_v_input {
-    CX231XX_VIN_1_1 = 0x1,
-    CX231XX_VIN_2_1,
-    CX231XX_VIN_3_1,
-    CX231XX_VIN_4_1,
-    CX231XX_VIN_1_2 = 0x01,
-    CX231XX_VIN_2_2,
-    CX231XX_VIN_3_2,
-    CX231XX_VIN_1_3 = 0x1,
-    CX231XX_VIN_2_3,
-    CX231XX_VIN_3_3,
+	CX231XX_VIN_1_1 = 0x1,
+	CX231XX_VIN_2_1,
+	CX231XX_VIN_3_1,
+	CX231XX_VIN_4_1,
+	CX231XX_VIN_1_2 = 0x01,
+	CX231XX_VIN_2_2,
+	CX231XX_VIN_3_2,
+	CX231XX_VIN_1_3 = 0x1,
+	CX231XX_VIN_2_3,
+	CX231XX_VIN_3_3,
 };
 
 /* cx231xx has two audio inputs: tuner and line in */
 enum cx231xx_amux {
 	/* This is the only entry for cx231xx tuner input */
-	CX231XX_AMUX_VIDEO,	    /* cx231xx tuner*/
+	CX231XX_AMUX_VIDEO,	/* cx231xx tuner */
 	CX231XX_AMUX_LINE_IN,	/* Line In */
 };
 
 struct cx231xx_reg_seq {
 	unsigned char bit;
-    unsigned char val;
+	unsigned char val;
 	int sleep;
 };
 
@@ -239,41 +233,40 @@ enum cx231xx_decoder {
 	CX231XX_AVDECODER
 };
 
-typedef enum _I2C_MASTER_PORT
-{
-     I2C_0 =0,
-     I2C_1 =1,
-     I2C_2 =2,
-     I2C_3 =3
-}CX231XX_I2C_MASTER_PORT;
+typedef enum _I2C_MASTER_PORT {
+	I2C_0 = 0,
+	I2C_1 = 1,
+	I2C_2 = 2,
+	I2C_3 = 3
+} CX231XX_I2C_MASTER_PORT;
 
 struct cx231xx_board {
 	char *name;
 	int vchannels;
 	int tuner_type;
 	int tuner_addr;
-    v4l2_std_id norm;	            /* tv norm */
+	v4l2_std_id norm;	/* tv norm */
 
-    /* demod related */
-    int demod_addr;
-    u8 demod_xfer_mode;  /* 0 - Serial; 1 - parallel */
+	/* demod related */
+	int demod_addr;
+	u8 demod_xfer_mode;	/* 0 - Serial; 1 - parallel */
 
 	/* GPIO Pins */
 	struct cx231xx_reg_seq *dvb_gpio;
 	struct cx231xx_reg_seq *suspend_gpio;
 	struct cx231xx_reg_seq *tuner_gpio;
-    u8 tuner_sif_gpio;
-    u8 tuner_scl_gpio;
-    u8 tuner_sda_gpio;
+	u8 tuner_sif_gpio;
+	u8 tuner_scl_gpio;
+	u8 tuner_sda_gpio;
 
-    /* PIN ctrl */
-    u32 ctl_pin_status_mask;
-    u8  agc_analog_digital_select_gpio;
-    u32 gpio_pin_status_mask;
+	/* PIN ctrl */
+	u32 ctl_pin_status_mask;
+	u8 agc_analog_digital_select_gpio;
+	u32 gpio_pin_status_mask;
 
-    /* i2c masters */
-    u8 tuner_i2c_master;
-    u8 demod_i2c_master;
+	/* i2c masters */
+	u8 tuner_i2c_master;
+	u8 demod_i2c_master;
 
 	unsigned int max_range_640_480:1;
 	unsigned int has_dvb:1;
@@ -283,9 +276,9 @@ struct cx231xx_board {
 
 	enum cx231xx_decoder decoder;
 
-	struct cx231xx_input       input[MAX_CX231XX_INPUT];
-	struct cx231xx_input	  radio;
-	IR_KEYTAB_TYPE            *ir_codes;
+	struct cx231xx_input input[MAX_CX231XX_INPUT];
+	struct cx231xx_input radio;
+	IR_KEYTAB_TYPE *ir_codes;
 };
 
 /* device states */
@@ -295,22 +288,20 @@ enum cx231xx_dev_state {
 	DEV_MISCONFIGURED = 0x04,
 };
 
-enum AFE_MODE
-{
-    AFE_MODE_LOW_IF,
-    AFE_MODE_BASEBAND,
-    AFE_MODE_EU_HI_IF,
-    AFE_MODE_US_HI_IF,
-    AFE_MODE_JAPAN_HI_IF
+enum AFE_MODE {
+	AFE_MODE_LOW_IF,
+	AFE_MODE_BASEBAND,
+	AFE_MODE_EU_HI_IF,
+	AFE_MODE_US_HI_IF,
+	AFE_MODE_JAPAN_HI_IF
 };
 
-enum AUDIO_INPUT
-{
-    AUDIO_INPUT_MUTE,
-    AUDIO_INPUT_LINE,
-    AUDIO_INPUT_TUNER_TV,
-    AUDIO_INPUT_SPDIF,
-    AUDIO_INPUT_TUNER_FM
+enum AUDIO_INPUT {
+	AUDIO_INPUT_MUTE,
+	AUDIO_INPUT_LINE,
+	AUDIO_INPUT_TUNER_TV,
+	AUDIO_INPUT_SPDIF,
+	AUDIO_INPUT_TUNER_FM
 };
 
 #define CX231XX_AUDIO_BUFS              5
@@ -319,7 +310,6 @@ enum AUDIO_INPUT
 #define CX231XX_STOP_AUDIO              0
 #define CX231XX_START_AUDIO             1
 
-
 /* cx231xx extensions */
 #define CX231XX_AUDIO                   0x10
 #define CX231XX_DVB                     0x20
@@ -330,169 +320,167 @@ struct cx231xx_audio {
 	struct urb *urb[CX231XX_AUDIO_BUFS];
 	struct usb_device *udev;
 	unsigned int capture_transfer_done;
-	struct snd_pcm_substream   *capture_pcm_substream;
+	struct snd_pcm_substream *capture_pcm_substream;
 
 	unsigned int hwptr_done_capture;
-	struct snd_card            *sndcard;
+	struct snd_card *sndcard;
 
 	int users, shutdown;
 	enum cx231xx_stream_state capture_stream;
 	spinlock_t slock;
 
-    int alt;		                /* alternate */
-	int max_pkt_size;	            /* max packet size of isoc transaction */
-	int num_alt;		            /* Number of alternative settings */
+	int alt;		/* alternate */
+	int max_pkt_size;	/* max packet size of isoc transaction */
+	int num_alt;		/* Number of alternative settings */
 	unsigned int *alt_max_pkt_size;	/* array of wMaxPacketSize */
-    u16 end_point_addr;
+	u16 end_point_addr;
 };
 
 struct cx231xx;
 
 struct cx231xx_fh {
 	struct cx231xx *dev;
-	unsigned int  stream_on:1;	    /* Locks streams */
-	int           radio;
+	unsigned int stream_on:1;	/* Locks streams */
+	int radio;
 
-	struct videobuf_queue        vb_vidq;
+	struct videobuf_queue vb_vidq;
 
-	enum v4l2_buf_type           type;
+	enum v4l2_buf_type type;
 };
 
 /**********************************************************************************/
 /* set/get i2c */
-#define I2C_SPEED_1M            0x0  /* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
-#define I2C_SPEED_400K          0x1  /* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
-#define I2C_SPEED_100K          0x2  /* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
-#define I2C_SPEED_5M            0x3	 /* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
+#define I2C_SPEED_1M            0x0	/* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
+#define I2C_SPEED_400K          0x1	/* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
+#define I2C_SPEED_100K          0x2	/* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
+#define I2C_SPEED_5M            0x3	/* 00--1Mb/s, 01-400kb/s, 10--100kb/s, 11--5Mb/s */
 
-#define I2C_STOP                0x0  /* 0-- STOP transaction */
-#define I2C_NOSTOP              0x1  /* 1-- do not transmit STOP at end of transaction */
-#define I2C_SYNC                0x1  /* 1--alllow slave to insert clock wait states */
+#define I2C_STOP                0x0	/* 0-- STOP transaction */
+#define I2C_NOSTOP              0x1	/* 1-- do not transmit STOP at end of transaction */
+#define I2C_SYNC                0x1	/* 1--alllow slave to insert clock wait states */
 
 struct cx231xx_i2c {
-	struct cx231xx             *dev;
+	struct cx231xx *dev;
 
-	int                        nr;
+	int nr;
 
 	/* i2c i/o */
-	struct i2c_adapter         i2c_adap;
-	struct i2c_algo_bit_data   i2c_algo;
-	struct i2c_client          i2c_client;
-	u32                        i2c_rc;
+	struct i2c_adapter i2c_adap;
+	struct i2c_algo_bit_data i2c_algo;
+	struct i2c_client i2c_client;
+	u32 i2c_rc;
 
 	/* different settings for each bus */
-	u8                         i2c_period;
-    u8                         i2c_nostop;
-    u8                         i2c_reserve;
+	u8 i2c_period;
+	u8 i2c_nostop;
+	u8 i2c_reserve;
 };
 
-struct cx231xx_i2c_xfer_data{
-    u8                  dev_addr;
-    u8                  direction; /* 1 - IN, 0 - OUT */
-    u8                  saddr_len; /* sub address len */
-    u16                 saddr_dat; /* sub addr data */
-    u8                  buf_size;  /* buffer size */
-    u8*                 p_buffer;  /* pointer to the buffer */
+struct cx231xx_i2c_xfer_data {
+	u8 dev_addr;
+	u8 direction;		/* 1 - IN, 0 - OUT */
+	u8 saddr_len;		/* sub address len */
+	u16 saddr_dat;		/* sub addr data */
+	u8 buf_size;		/* buffer size */
+	u8 *p_buffer;		/* pointer to the buffer */
 };
 
-typedef struct _VENDOR_REQUEST_IN
-{
-	u8					bRequest;
-	u16					wValue;
-	u16					wIndex;
-	u16					wLength;
-	u8					direction;
-	u8					bData;
-	u8					*pBuff;
+typedef struct _VENDOR_REQUEST_IN {
+	u8 bRequest;
+	u16 wValue;
+	u16 wIndex;
+	u16 wLength;
+	u8 direction;
+	u8 bData;
+	u8 *pBuff;
 } VENDOR_REQUEST_IN, *PVENDOR_REQUEST_IN;
 
 struct cx231xx_ctrl {
 	struct v4l2_queryctrl v;
-	u32                   off;
-	u32                   reg;
-	u32                   mask;
-	u32                   shift;
+	u32 off;
+	u32 reg;
+	u32 mask;
+	u32 shift;
 };
 
-typedef enum{
-    Raw_Video = 0,
-    Audio,
-    Vbi,        /* VANC */
-    Sliced_cc,  /* HANC */
-    TS1_serial_mode,
-    TS2,
-    TS1_parallel_mode
-}TRANSFER_TYPE;
+typedef enum {
+	Raw_Video = 0,
+	Audio,
+	Vbi,			/* VANC */
+	Sliced_cc,		/* HANC */
+	TS1_serial_mode,
+	TS2,
+	TS1_parallel_mode
+} TRANSFER_TYPE;
 
 struct cx231xx_video_mode {
-    /* Isoc control struct */
+	/* Isoc control struct */
 	struct cx231xx_dmaqueue vidq;
 	struct cx231xx_usb_isoc_ctl isoc_ctl;
 	spinlock_t slock;
 
 	/* usb transfer */
-	int alt;		                /* alternate */
-	int max_pkt_size;	            /* max packet size of isoc transaction */
-	int num_alt;		            /* Number of alternative settings */
+	int alt;		/* alternate */
+	int max_pkt_size;	/* max packet size of isoc transaction */
+	int num_alt;		/* Number of alternative settings */
 	unsigned int *alt_max_pkt_size;	/* array of wMaxPacketSize */
-    u16 end_point_addr;
+	u16 end_point_addr;
 };
 
-
 /* main device struct */
 struct cx231xx {
 	/* generic device properties */
-	char name[30];		            /* name (including minor) of the device */
-	int model;		                /* index in the device_data struct */
-	int devno;		                /* marks the number of this device */
+	char name[30];		/* name (including minor) of the device */
+	int model;		/* index in the device_data struct */
+	int devno;		/* marks the number of this device */
 
 	struct cx231xx_board board;
 
-	unsigned int stream_on:1;	    /* Locks streams */
-    unsigned int vbi_stream_on:1;	/* Locks streams for VBI */
+	unsigned int stream_on:1;	/* Locks streams */
+	unsigned int vbi_stream_on:1;	/* Locks streams for VBI */
 	unsigned int has_audio_class:1;
 	unsigned int has_alsa_audio:1;
 
-    struct cx231xx_fmt *format;
+	struct cx231xx_fmt *format;
 
 	struct cx231xx_IR *ir;
 
-	struct list_head	devlist;
+	struct list_head devlist;
 
-	int tuner_type;		            /* type of the tuner */
-	int tuner_addr;		            /* tuner address */
+	int tuner_type;		/* type of the tuner */
+	int tuner_addr;		/* tuner address */
 
-    /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */
-	struct cx231xx_i2c         i2c_bus[3];
-    unsigned int xc_fw_load_done:1;
-    struct mutex gpio_i2c_lock;
+	/* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */
+	struct cx231xx_i2c i2c_bus[3];
+	unsigned int xc_fw_load_done:1;
+	struct mutex gpio_i2c_lock;
 
 	/* video for linux */
-	int users;		                /* user count for exclusive use */
-	struct video_device *vdev;	    /* video for linux device struct */
-	v4l2_std_id norm;	            /* selected tv norm */
-	int ctl_freq;		            /* selected frequency */
-	unsigned int ctl_ainput;        /* selected audio input */
+	int users;		/* user count for exclusive use */
+	struct video_device *vdev;	/* video for linux device struct */
+	v4l2_std_id norm;	/* selected tv norm */
+	int ctl_freq;		/* selected frequency */
+	unsigned int ctl_ainput;	/* selected audio input */
 	int mute;
 	int volume;
 
 	/* frame properties */
-	int width;		                /* current frame width */
-	int height;		                /* current frame height */
-	unsigned hscale;	            /* horizontal scale factor (see datasheet) */
-	unsigned vscale;	            /* vertical scale factor (see datasheet) */
-	int interlaced;		            /* 1=interlace fileds, 0=just top fileds */
+	int width;		/* current frame width */
+	int height;		/* current frame height */
+	unsigned hscale;	/* horizontal scale factor (see datasheet) */
+	unsigned vscale;	/* vertical scale factor (see datasheet) */
+	int interlaced;		/* 1=interlace fileds, 0=just top fileds */
 
 	struct cx231xx_audio adev;
 
 	/* states */
 	enum cx231xx_dev_state state;
 
-	struct work_struct         request_module_wk;
+	struct work_struct request_module_wk;
 
 	/* locks */
 	struct mutex lock;
-	struct mutex ctrl_urb_lock;	    /* protects urb_buf */
+	struct mutex ctrl_urb_lock;	/* protects urb_buf */
 	struct list_head inqueue, outqueue;
 	wait_queue_head_t open, wait_frame, wait_stream;
 	struct video_device *vbi_dev;
@@ -500,54 +488,56 @@ struct cx231xx {
 
 	unsigned char eedata[256];
 
-    struct cx231xx_video_mode video_mode;
-    struct cx231xx_video_mode vbi_mode;
-    struct cx231xx_video_mode sliced_cc_mode;
-    struct cx231xx_video_mode ts1_mode;
-
-    struct usb_device *udev;	    /* the usb device */
-    char urb_buf[URB_MAX_CTRL_SIZE];/* urb control msg buffer */
+	struct cx231xx_video_mode video_mode;
+	struct cx231xx_video_mode vbi_mode;
+	struct cx231xx_video_mode sliced_cc_mode;
+	struct cx231xx_video_mode ts1_mode;
 
+	struct usb_device *udev;	/* the usb device */
+	char urb_buf[URB_MAX_CTRL_SIZE];	/* urb control msg buffer */
 
 	/* helper funcs that call usb_control_msg */
-    int (*cx231xx_read_ctrl_reg) (struct cx231xx *dev, u8 req, u16 reg,
-					char *buf, int len);
-    int (*cx231xx_write_ctrl_reg)(struct cx231xx *dev, u8 req, u16 reg,
+	int (*cx231xx_read_ctrl_reg) (struct cx231xx * dev, u8 req, u16 reg,
 				      char *buf, int len);
-    int (*cx231xx_send_usb_command)(struct cx231xx_i2c *i2c_bus,
-                   struct cx231xx_i2c_xfer_data *req_data);
-    int (*cx231xx_gpio_i2c_read)(struct cx231xx *dev, u8 dev_addr, u8 *buf ,u8 len);
-    int (*cx231xx_gpio_i2c_write)(struct cx231xx *dev, u8 dev_addr, u8 *buf ,u8 len);
-
-	int (*cx231xx_set_analog_freq)(struct cx231xx *dev, u32 freq ) ;
-    int (*cx231xx_reset_analog_tuner)(struct cx231xx *dev) ;
+	int (*cx231xx_write_ctrl_reg) (struct cx231xx * dev, u8 req, u16 reg,
+				       char *buf, int len);
+	int (*cx231xx_send_usb_command) (struct cx231xx_i2c * i2c_bus,
+					 struct cx231xx_i2c_xfer_data *
+					 req_data);
+	int (*cx231xx_gpio_i2c_read) (struct cx231xx * dev, u8 dev_addr,
+				      u8 * buf, u8 len);
+	int (*cx231xx_gpio_i2c_write) (struct cx231xx * dev, u8 dev_addr,
+				       u8 * buf, u8 len);
+
+	int (*cx231xx_set_analog_freq) (struct cx231xx * dev, u32 freq);
+	int (*cx231xx_reset_analog_tuner) (struct cx231xx * dev);
 
 	enum cx231xx_mode mode;
 
 	struct cx231xx_dvb *dvb;
 
-    /* Cx231xx supported PCB config's */
-    struct pcb_config  current_pcb_config;
-    u8 current_scenario_idx;
-    u8 interface_count;
-    u8 max_iad_interface_count;
+	/* Cx231xx supported PCB config's */
+	struct pcb_config current_pcb_config;
+	u8 current_scenario_idx;
+	u8 interface_count;
+	u8 max_iad_interface_count;
 
-    /* GPIO related register direction and values */
-    u32 gpio_dir;
-    u32 gpio_val;
+	/* GPIO related register direction and values */
+	u32 gpio_dir;
+	u32 gpio_val;
 
-    /* Power Modes */
-    int power_mode;
+	/* Power Modes */
+	int power_mode;
 
-    /* colibri parameters */
-    enum AFE_MODE colibri_mode;
-    u32 colibri_ref_count;
+	/* colibri parameters */
+	enum AFE_MODE colibri_mode;
+	u32 colibri_ref_count;
 
-    /* video related parameters */
-    u32 video_input;
-    u32 active_mode;
-    u8  vbi_or_sliced_cc_mode;          /* 0 - vbi ; 1 - sliced cc mode */
-    enum cx231xx_std_mode std_mode;     /* 0 - Air; 1 - cable */
+	/* video related parameters */
+	u32 video_input;
+	u32 active_mode;
+	u8 vbi_or_sliced_cc_mode;	/* 0 - vbi ; 1 - sliced cc mode */
+	enum cx231xx_std_mode std_mode;	/* 0 - Air; 1 - cable */
 
 };
 
@@ -555,29 +545,31 @@ struct cx231xx_ops {
 	struct list_head next;
 	char *name;
 	int id;
-	int (*init)(struct cx231xx *);
-	int (*fini)(struct cx231xx *);
+	int (*init) (struct cx231xx *);
+	int (*fini) (struct cx231xx *);
 };
 
 /* call back functions in dvb module */
-int cx231xx_set_analog_freq(struct cx231xx *dev, u32 freq ) ;
-int cx231xx_reset_analog_tuner(struct cx231xx *dev) ;
+int cx231xx_set_analog_freq(struct cx231xx *dev, u32 freq);
+int cx231xx_reset_analog_tuner(struct cx231xx *dev);
 
 /* Provided by cx231xx-i2c.c */
-void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd, void *arg);
+void cx231xx_i2c_call_clients(struct cx231xx_i2c *bus, unsigned int cmd,
+			      void *arg);
 void cx231xx_do_i2c_scan(struct cx231xx *dev, struct i2c_client *c);
 int cx231xx_i2c_register(struct cx231xx_i2c *bus);
 int cx231xx_i2c_unregister(struct cx231xx_i2c *bus);
 
 /* Internal block control functions */
 int cx231xx_read_i2c_data(struct cx231xx *dev, u8 dev_addr,
-                          u16 saddr, u8 saddr_len, u32 *data, u8 data_len);
+			  u16 saddr, u8 saddr_len, u32 * data, u8 data_len);
 int cx231xx_write_i2c_data(struct cx231xx *dev, u8 dev_addr,
-                          u16 saddr, u8 saddr_len, u32 data, u8 data_len);
-int cx231xx_reg_mask_write(struct cx231xx *dev, u8 dev_addr, u8 size, u16 register_address,
-                           u8 bit_start,u8 bit_end, u32 value);
+			   u16 saddr, u8 saddr_len, u32 data, u8 data_len);
+int cx231xx_reg_mask_write(struct cx231xx *dev, u8 dev_addr, u8 size,
+			   u16 register_address, u8 bit_start, u8 bit_end,
+			   u32 value);
 int cx231xx_read_modify_write_i2c_dword(struct cx231xx *dev, u8 dev_addr,
-                                       u16 saddr, u32 mask, u32 value);
+					u16 saddr, u32 mask, u32 value);
 u32 cx231xx_set_field(u32 field_mask, u32 data);
 
 /* Colibri related functions */
@@ -596,23 +588,26 @@ int cx231xx_flatiron_set_audio_input(struct cx231xx *dev, u8 audio_input);
 
 /* DIF related functions */
 int cx231xx_dif_configure_C2HH_for_low_IF(struct cx231xx *dev, u32 mode,
-                                          u32 function_mode, u32 standard);
+					  u32 function_mode, u32 standard);
 int cx231xx_dif_set_standard(struct cx231xx *dev, u32 standard);
 int cx231xx_tuner_pre_channel_change(struct cx231xx *dev);
 int cx231xx_tuner_post_channel_change(struct cx231xx *dev);
 
 /* video parser functions */
-u8 cx231xx_find_next_SAV_EAV(u8 *p_buffer, u32 buffer_size, u32 *p_bytes_used);
-u8 cx231xx_find_boundary_SAV_EAV(u8 *p_buffer, u8 *partial_buf, u32 *p_bytes_used);
+u8 cx231xx_find_next_SAV_EAV(u8 * p_buffer, u32 buffer_size,
+			     u32 * p_bytes_used);
+u8 cx231xx_find_boundary_SAV_EAV(u8 * p_buffer, u8 * partial_buf,
+				 u32 * p_bytes_used);
 int cx231xx_do_copy(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
-                    u8 *p_buffer, u32 bytes_to_copy);
-void cx231xx_reset_video_buffer(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q);
-u8 cx231xx_is_buffer_done(struct cx231xx *dev,struct cx231xx_dmaqueue  *dma_q);
-u32 cx231xx_copy_video_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                            u8 *p_line, u32 length, int field_number);
-u32 cx231xx_get_video_line(struct cx231xx *dev, struct cx231xx_dmaqueue  *dma_q,
-                           u8 sav_eav, u8 *p_buffer, u32 buffer_size);
-void cx231xx_swab(u16 *from, u16 *to, u16 len);
+		    u8 * p_buffer, u32 bytes_to_copy);
+void cx231xx_reset_video_buffer(struct cx231xx *dev,
+				struct cx231xx_dmaqueue *dma_q);
+u8 cx231xx_is_buffer_done(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q);
+u32 cx231xx_copy_video_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
+			    u8 * p_line, u32 length, int field_number);
+u32 cx231xx_get_video_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
+			   u8 sav_eav, u8 * p_buffer, u32 buffer_size);
+void cx231xx_swab(u16 * from, u16 * to, u16 len);
 
 /* Provided by cx231xx-core.c */
 
@@ -622,46 +617,49 @@ void cx231xx_release_buffers(struct cx231xx *dev);
 
 /* read from control pipe */
 int cx231xx_read_ctrl_reg(struct cx231xx *dev, u8 req, u16 reg,
-			    char *buf, int len);
+			  char *buf, int len);
 
 /* write to control pipe */
 int cx231xx_write_ctrl_reg(struct cx231xx *dev, u8 req, u16 reg,
-				      char *buf, int len);
+			   char *buf, int len);
 int cx231xx_mode_register(struct cx231xx *dev, u16 address, u32 mode);
 
-int cx231xx_send_vendor_cmd(struct cx231xx *dev, VENDOR_REQUEST_IN *ven_req);
+int cx231xx_send_vendor_cmd(struct cx231xx *dev, VENDOR_REQUEST_IN * ven_req);
 int cx231xx_send_usb_command(struct cx231xx_i2c *i2c_bus,
-                   struct cx231xx_i2c_xfer_data *req_data);
+			     struct cx231xx_i2c_xfer_data *req_data);
 
 /* Gpio related functions */
-int cx231xx_send_gpio_cmd(struct cx231xx *dev, u32 gpio_bit, u8* gpio_val,
-                          u8 len, u8 request, u8 direction);
-int cx231xx_set_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u8* gpio_val);
-int cx231xx_get_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u8* gpio_val);
+int cx231xx_send_gpio_cmd(struct cx231xx *dev, u32 gpio_bit, u8 * gpio_val,
+			  u8 len, u8 request, u8 direction);
+int cx231xx_set_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u8 * gpio_val);
+int cx231xx_get_gpio_bit(struct cx231xx *dev, u32 gpio_bit, u8 * gpio_val);
 int cx231xx_set_gpio_value(struct cx231xx *dev, int pin_number, int pin_value);
-int cx231xx_set_gpio_direction(struct cx231xx *dev, int pin_number, int pin_value);
+int cx231xx_set_gpio_direction(struct cx231xx *dev, int pin_number,
+			       int pin_value);
 
 int cx231xx_gpio_i2c_start(struct cx231xx *dev);
 int cx231xx_gpio_i2c_end(struct cx231xx *dev);
 int cx231xx_gpio_i2c_write_byte(struct cx231xx *dev, u8 data);
-int cx231xx_gpio_i2c_read_byte(struct cx231xx *dev, u8 *buf);
+int cx231xx_gpio_i2c_read_byte(struct cx231xx *dev, u8 * buf);
 int cx231xx_gpio_i2c_read_ack(struct cx231xx *dev);
 int cx231xx_gpio_i2c_write_ack(struct cx231xx *dev);
 int cx231xx_gpio_i2c_write_nak(struct cx231xx *dev);
 
-int cx231xx_gpio_i2c_read(struct cx231xx *dev, u8 dev_addr, u8 *buf ,u8 len);
-int cx231xx_gpio_i2c_write(struct cx231xx *dev, u8 dev_addr, u8 *buf ,u8 len);
+int cx231xx_gpio_i2c_read(struct cx231xx *dev, u8 dev_addr, u8 * buf, u8 len);
+int cx231xx_gpio_i2c_write(struct cx231xx *dev, u8 dev_addr, u8 * buf, u8 len);
 
 /* audio related functions */
-int cx231xx_set_audio_decoder_input(struct cx231xx *dev, enum AUDIO_INPUT audio_input);
+int cx231xx_set_audio_decoder_input(struct cx231xx *dev,
+				    enum AUDIO_INPUT audio_input);
 
 int cx231xx_capture_start(struct cx231xx *dev, int start, u8 media_type);
 int cx231xx_resolution_set(struct cx231xx *dev);
 int cx231xx_set_video_alternate(struct cx231xx *dev);
 int cx231xx_set_alt_setting(struct cx231xx *dev, u8 index, u8 alt);
 int cx231xx_init_isoc(struct cx231xx *dev, int max_packets,
-		     int num_bufs, int max_pkt_size,
-		     int (*isoc_copy) (struct cx231xx *dev, struct urb *urb));
+		      int num_bufs, int max_pkt_size,
+		      int (*isoc_copy) (struct cx231xx * dev,
+					struct urb * urb));
 void cx231xx_uninit_isoc(struct cx231xx *dev);
 int cx231xx_set_mode(struct cx231xx *dev, enum cx231xx_mode set_mode);
 int cx231xx_gpio_set(struct cx231xx *dev, struct cx231xx_reg_seq *gpio);
@@ -673,7 +671,7 @@ int cx231xx_register_analog_devices(struct cx231xx *dev);
 void cx231xx_remove_from_devlist(struct cx231xx *dev);
 void cx231xx_add_into_devlist(struct cx231xx *dev);
 struct cx231xx *cx231xx_get_device(int minor,
-				 enum v4l2_buf_type *fh_type, int *has_radio);
+				   enum v4l2_buf_type *fh_type, int *has_radio);
 void cx231xx_init_extension(struct cx231xx *dev);
 void cx231xx_close_extension(struct cx231xx *dev);
 
@@ -695,7 +693,8 @@ int cx231xx_power_suspend(struct cx231xx *dev);
 
 /* chip specific control functions */
 int cx231xx_init_ctrl_pin_status(struct cx231xx *dev);
-int cx231xx_set_agc_analog_digital_mux_select(struct cx231xx *dev, u8 analog_or_digital);
+int cx231xx_set_agc_analog_digital_mux_select(struct cx231xx *dev,
+					      u8 analog_or_digital);
 int cx231xx_enable_i2c_for_tuner(struct cx231xx *dev, u8 I2CIndex);
 
 /* video audio decoder related functions */
@@ -705,8 +704,8 @@ int cx231xx_set_decoder_video_input(struct cx231xx *dev, u8 pin_type, u8 input);
 int cx231xx_do_mode_ctrl_overrides(struct cx231xx *dev);
 int cx231xx_set_audio_input(struct cx231xx *dev, u8 input);
 void get_scale(struct cx231xx *dev,
-			unsigned int width, unsigned int height,
-			unsigned int *hscale, unsigned int *vscale);
+	       unsigned int width, unsigned int height,
+	       unsigned int *hscale, unsigned int *vscale);
 
 /* Provided by cx231xx-video.c */
 int cx231xx_register_extension(struct cx231xx_ops *dev);
@@ -743,7 +742,6 @@ int cx231xx_ir_fini(struct cx231xx *dev);
 	printk(KERN_WARNING "%s: "fmt,\
 			dev->name , ##arg); } while (0)
 
-
 static inline unsigned int norm_maxw(struct cx231xx *dev)
 {
 	if (dev->board.max_range_640_480)

Some files were not shown because too many files changed in this diff