aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx/cx231xx-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx231xx/cx231xx-cards.c')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-cards.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-cards.c b/drivers/media/video/cx231xx/cx231xx-cards.c
index 27cf51b78d6d..f18d0c11de7d 100644
--- a/drivers/media/video/cx231xx/cx231xx-cards.c
+++ b/drivers/media/video/cx231xx/cx231xx-cards.c
@@ -1,8 +1,9 @@
1/* 1/*
2 cx231xx-cards.c - driver for Conexant Cx23100/101/102 USB video capture devices 2 cx231xx-cards.c - driver for Conexant Cx23100/101/102
3 USB video capture devices
3 4
4 Copyright (C) 2008 <srinivasa.deevi at conexant dot com> 5 Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
5 Based on em28xx driver 6 Based on em28xx driver
6 7
7 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
@@ -85,7 +86,7 @@ struct cx231xx_board cx231xx_boards[] = {
85 .amux = 86 .amux =
86 CX231XX_AMUX_LINE_IN, 87 CX231XX_AMUX_LINE_IN,
87 .gpio = 0, 88 .gpio = 0,
88 }}, 89 } },
89 }, 90 },
90 91
91 [CX231XX_BOARD_CNXT_RDE_250] = { 92 [CX231XX_BOARD_CNXT_RDE_250] = {
@@ -132,7 +133,7 @@ struct cx231xx_board cx231xx_boards[] = {
132 .amux = 133 .amux =
133 CX231XX_AMUX_LINE_IN, 134 CX231XX_AMUX_LINE_IN,
134 .gpio = 0, 135 .gpio = 0,
135 }}, 136 } },
136 }, 137 },
137 138
138 [CX231XX_BOARD_CNXT_RDU_250] = { 139 [CX231XX_BOARD_CNXT_RDU_250] = {
@@ -179,7 +180,7 @@ struct cx231xx_board cx231xx_boards[] = {
179 .amux = 180 .amux =
180 CX231XX_AMUX_LINE_IN, 181 CX231XX_AMUX_LINE_IN,
181 .gpio = 0, 182 .gpio = 0,
182 }}, 183 } },
183 }, 184 },
184}; 185};
185const unsigned int cx231xx_bcount = ARRAY_SIZE(cx231xx_boards); 186const unsigned int cx231xx_bcount = ARRAY_SIZE(cx231xx_boards);
@@ -209,9 +210,8 @@ int cx231xx_tuner_callback(void *ptr, int component, int command, int arg)
209 if (dev->tuner_type == TUNER_XC5000) { 210 if (dev->tuner_type == TUNER_XC5000) {
210 if (command == XC5000_TUNER_RESET) { 211 if (command == XC5000_TUNER_RESET) {
211 cx231xx_info 212 cx231xx_info
212 ("Tuner Call back : RESET : command %d : tuner type %d \n", 213 ("Tuner CB: RESET: cmd %d : tuner type %d \n",
213 command, dev->tuner_type); 214 command, dev->tuner_type);
214
215 cx231xx_set_gpio_value(dev, dev->board.tuner_gpio->bit, 215 cx231xx_set_gpio_value(dev, dev->board.tuner_gpio->bit,
216 1); 216 1);
217 msleep(10); 217 msleep(10);
@@ -225,10 +225,9 @@ int cx231xx_tuner_callback(void *ptr, int component, int command, int arg)
225 } 225 }
226 return rc; 226 return rc;
227} 227}
228
229EXPORT_SYMBOL_GPL(cx231xx_tuner_callback); 228EXPORT_SYMBOL_GPL(cx231xx_tuner_callback);
230 229
231static void inline cx231xx_set_model(struct cx231xx *dev) 230static inline void cx231xx_set_model(struct cx231xx *dev)
232{ 231{
233 memcpy(&dev->board, &cx231xx_boards[dev->model], sizeof(dev->board)); 232 memcpy(&dev->board, &cx231xx_boards[dev->model], sizeof(dev->board));
234} 233}
@@ -542,7 +541,7 @@ static int cx231xx_init_dev(struct cx231xx **devhandle, struct usb_device *udev,
542 541
543 return 0; 542 return 0;
544 543
545 fail_reg_devices: 544fail_reg_devices:
546 mutex_unlock(&dev->lock); 545 mutex_unlock(&dev->lock);
547 return retval; 546 return retval;
548} 547}
@@ -628,12 +627,13 @@ static int cx231xx_usb_probe(struct usb_interface *interface,
628 dev->has_alsa_audio = 1; 627 dev->has_alsa_audio = 1;
629 dev->power_mode = -1; 628 dev->power_mode = -1;
630 629
631 dev->vbi_or_sliced_cc_mode = 0; /* 0 - vbi ; 1 -sliced cc mode */ 630 /* 0 - vbi ; 1 -sliced cc mode */
631 dev->vbi_or_sliced_cc_mode = 0;
632 632
633 /* get maximum no.of IAD interfaces */ 633 /* get maximum no.of IAD interfaces */
634 assoc_desc = udev->actconfig->intf_assoc[0]; 634 assoc_desc = udev->actconfig->intf_assoc[0];
635 dev->max_iad_interface_count = assoc_desc->bInterfaceCount; 635 dev->max_iad_interface_count = assoc_desc->bInterfaceCount;
636 cx231xx_info(": Found IAD interface count %d\n", 636 cx231xx_info("Found IAD interface count %d\n",
637 dev->max_iad_interface_count); 637 dev->max_iad_interface_count);
638 638
639 /* init CIR module TBD */ 639 /* init CIR module TBD */
@@ -662,10 +662,9 @@ static int cx231xx_usb_probe(struct usb_interface *interface,
662 assoc_desc = udev->actconfig->intf_assoc[0]; 662 assoc_desc = udev->actconfig->intf_assoc[0];
663 if (assoc_desc->bFirstInterface == ifnum) { 663 if (assoc_desc->bFirstInterface == ifnum) {
664 cx231xx_info 664 cx231xx_info
665 (": Found IAD interface match: AV Descriptor Start!! \n"); 665 ("Found IAD interface match: AV Desc Start!! \n");
666 } else { 666 } else {
667 cx231xx_err(DRIVER_NAME 667 cx231xx_err(" Not found matching interface\n");
668 " Not found matching interface\n");
669 return -ENODEV; 668 return -ENODEV;
670 } 669 }
671 670
@@ -691,7 +690,7 @@ static int cx231xx_usb_probe(struct usb_interface *interface,
691 skip_interface = 1; /* set skipping */ 690 skip_interface = 1; /* set skipping */
692 else { 691 else {
693 cx231xx_info 692 cx231xx_info
694 (": Found IAD interface number match with AV Device number!! \n"); 693 ("Found IAD interface no. match with AV Device no.!\n");
695 } 694 }
696 } 695 }
697 696