aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/usb
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2012-11-21 05:38:13 -0500
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-11-21 05:38:13 -0500
commit851462444d421c223965b12b836bef63da61b57f (patch)
tree495baa14e638817941496c36e1443aed7dae0ea0 /drivers/media/usb
parent5a6ea4af0907f995dc06df21a9c9ef764c7cd3bc (diff)
parent6924d99fcdf1a688538a3cdebd1f135c22eec191 (diff)
Merge branch 'for-3.7' of git://git.infradead.org/users/dedekind/l2-mtd
Conflicts: drivers/mtd/nand/nand_base.c
Diffstat (limited to 'drivers/media/usb')
-rw-r--r--drivers/media/usb/dvb-usb-v2/af9015.c4
-rw-r--r--drivers/media/usb/dvb-usb-v2/af9035.c2
-rw-r--r--drivers/media/usb/dvb-usb/a800.c2
-rw-r--r--drivers/media/usb/dvb-usb/cinergyT2-core.c3
-rw-r--r--drivers/media/usb/dvb-usb/dibusb-common.c2
-rw-r--r--drivers/media/usb/dvb-usb/digitv.c2
-rw-r--r--drivers/media/usb/dvb-usb/dtt200u.c2
-rw-r--r--drivers/media/usb/dvb-usb/m920x.c2
-rw-r--r--drivers/media/usb/dvb-usb/technisat-usb2.c1
-rw-r--r--drivers/media/usb/em28xx/em28xx-cards.c2
-rw-r--r--drivers/media/usb/em28xx/em28xx-dvb.c13
-rw-r--r--drivers/media/usb/stk1160/stk1160-core.c15
-rw-r--r--drivers/media/usb/stk1160/stk1160-v4l.c7
-rw-r--r--drivers/media/usb/stk1160/stk1160.h3
-rw-r--r--drivers/media/usb/uvc/uvc_queue.c10
-rw-r--r--drivers/media/usb/uvc/uvc_video.c4
-rw-r--r--drivers/media/usb/uvc/uvcvideo.h2
17 files changed, 49 insertions, 27 deletions
diff --git a/drivers/media/usb/dvb-usb-v2/af9015.c b/drivers/media/usb/dvb-usb-v2/af9015.c
index 824f1911ee21..3d7526e28d42 100644
--- a/drivers/media/usb/dvb-usb-v2/af9015.c
+++ b/drivers/media/usb/dvb-usb-v2/af9015.c
@@ -500,7 +500,7 @@ static int af9015_read_config(struct dvb_usb_device *d)
500 case 3: 500 case 3:
501 state->af9013_config[i].clock = 25000000; 501 state->af9013_config[i].clock = 25000000;
502 break; 502 break;
503 }; 503 }
504 dev_dbg(&d->udev->dev, "%s: [%d] xtal=%d set clock=%d\n", 504 dev_dbg(&d->udev->dev, "%s: [%d] xtal=%d set clock=%d\n",
505 __func__, i, val, 505 __func__, i, val,
506 state->af9013_config[i].clock); 506 state->af9013_config[i].clock);
@@ -568,7 +568,7 @@ static int af9015_read_config(struct dvb_usb_device *d)
568 "supported, please report!\n", 568 "supported, please report!\n",
569 KBUILD_MODNAME, val); 569 KBUILD_MODNAME, val);
570 return -ENODEV; 570 return -ENODEV;
571 }; 571 }
572 572
573 state->af9013_config[i].tuner = val; 573 state->af9013_config[i].tuner = val;
574 dev_dbg(&d->udev->dev, "%s: [%d] tuner id=%d\n", 574 dev_dbg(&d->udev->dev, "%s: [%d] tuner id=%d\n",
diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
index aabd3fc03ea7..ea27eaff4e34 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -520,7 +520,7 @@ static int af9035_read_config(struct dvb_usb_device *d)
520 dev_warn(&d->udev->dev, "%s: tuner id=%02x not " \ 520 dev_warn(&d->udev->dev, "%s: tuner id=%02x not " \
521 "supported, please report!", 521 "supported, please report!",
522 KBUILD_MODNAME, tmp); 522 KBUILD_MODNAME, tmp);
523 }; 523 }
524 524
525 /* tuner IF frequency */ 525 /* tuner IF frequency */
526 ret = af9035_rd_reg(d, EEPROM_1_IFFREQ_L + eeprom_shift, &tmp); 526 ret = af9035_rd_reg(d, EEPROM_1_IFFREQ_L + eeprom_shift, &tmp);
diff --git a/drivers/media/usb/dvb-usb/a800.c b/drivers/media/usb/dvb-usb/a800.c
index 8d7fef84afd8..83684ed023cd 100644
--- a/drivers/media/usb/dvb-usb/a800.c
+++ b/drivers/media/usb/dvb-usb/a800.c
@@ -93,7 +93,7 @@ static int a800_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
93 /* call the universal NEC remote processor, to find out the key's state and event */ 93 /* call the universal NEC remote processor, to find out the key's state and event */
94 dvb_usb_nec_rc_key_to_event(d,key,event,state); 94 dvb_usb_nec_rc_key_to_event(d,key,event,state);
95 if (key[0] != 0) 95 if (key[0] != 0)
96 deb_rc("key: %x %x %x %x %x\n",key[0],key[1],key[2],key[3],key[4]); 96 deb_rc("key: %*ph\n", 5, key);
97 ret = 0; 97 ret = 0;
98out: 98out:
99 kfree(key); 99 kfree(key);
diff --git a/drivers/media/usb/dvb-usb/cinergyT2-core.c b/drivers/media/usb/dvb-usb/cinergyT2-core.c
index 0a98548ecd17..9fd1527494eb 100644
--- a/drivers/media/usb/dvb-usb/cinergyT2-core.c
+++ b/drivers/media/usb/dvb-usb/cinergyT2-core.c
@@ -172,8 +172,7 @@ static int cinergyt2_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
172 if (*event != d->last_event) 172 if (*event != d->last_event)
173 st->rc_counter = 0; 173 st->rc_counter = 0;
174 174
175 deb_rc("key: %x %x %x %x %x\n", 175 deb_rc("key: %*ph\n", 5, key);
176 key[0], key[1], key[2], key[3], key[4]);
177 } 176 }
178 return 0; 177 return 0;
179} 178}
diff --git a/drivers/media/usb/dvb-usb/dibusb-common.c b/drivers/media/usb/dvb-usb/dibusb-common.c
index a76bbb29ca36..af0d4321845b 100644
--- a/drivers/media/usb/dvb-usb/dibusb-common.c
+++ b/drivers/media/usb/dvb-usb/dibusb-common.c
@@ -473,7 +473,7 @@ int dibusb_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
473 dvb_usb_generic_rw(d,&cmd,1,key,5,0); 473 dvb_usb_generic_rw(d,&cmd,1,key,5,0);
474 dvb_usb_nec_rc_key_to_event(d,key,event,state); 474 dvb_usb_nec_rc_key_to_event(d,key,event,state);
475 if (key[0] != 0) 475 if (key[0] != 0)
476 deb_info("key: %x %x %x %x %x\n",key[0],key[1],key[2],key[3],key[4]); 476 deb_info("key: %*ph\n", 5, key);
477 return 0; 477 return 0;
478} 478}
479EXPORT_SYMBOL(dibusb_rc_query); 479EXPORT_SYMBOL(dibusb_rc_query);
diff --git a/drivers/media/usb/dvb-usb/digitv.c b/drivers/media/usb/dvb-usb/digitv.c
index ff34419a4c88..772bde3c5020 100644
--- a/drivers/media/usb/dvb-usb/digitv.c
+++ b/drivers/media/usb/dvb-usb/digitv.c
@@ -253,7 +253,7 @@ static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
253 } 253 }
254 254
255 if (key[0] != 0) 255 if (key[0] != 0)
256 deb_rc("key: %x %x %x %x %x\n",key[0],key[1],key[2],key[3],key[4]); 256 deb_rc("key: %*ph\n", 5, key);
257 return 0; 257 return 0;
258} 258}
259 259
diff --git a/drivers/media/usb/dvb-usb/dtt200u.c b/drivers/media/usb/dvb-usb/dtt200u.c
index 66f205c112b2..c357fb3b0a88 100644
--- a/drivers/media/usb/dvb-usb/dtt200u.c
+++ b/drivers/media/usb/dvb-usb/dtt200u.c
@@ -84,7 +84,7 @@ static int dtt200u_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
84 dvb_usb_generic_rw(d,&cmd,1,key,5,0); 84 dvb_usb_generic_rw(d,&cmd,1,key,5,0);
85 dvb_usb_nec_rc_key_to_event(d,key,event,state); 85 dvb_usb_nec_rc_key_to_event(d,key,event,state);
86 if (key[0] != 0) 86 if (key[0] != 0)
87 deb_info("key: %x %x %x %x %x\n",key[0],key[1],key[2],key[3],key[4]); 87 deb_info("key: %*ph\n", 5, key);
88 return 0; 88 return 0;
89} 89}
90 90
diff --git a/drivers/media/usb/dvb-usb/m920x.c b/drivers/media/usb/dvb-usb/m920x.c
index 288af29a8bb7..661bb75be955 100644
--- a/drivers/media/usb/dvb-usb/m920x.c
+++ b/drivers/media/usb/dvb-usb/m920x.c
@@ -358,7 +358,7 @@ static int m920x_firmware_download(struct usb_device *udev, const struct firmwar
358 358
359 if ((ret = m920x_read(udev, M9206_FILTER, 0x0, 0x8000, read, 4)) != 0) 359 if ((ret = m920x_read(udev, M9206_FILTER, 0x0, 0x8000, read, 4)) != 0)
360 goto done; 360 goto done;
361 deb("%x %x %x %x\n", read[0], read[1], read[2], read[3]); 361 deb("%*ph\n", 4, read);
362 362
363 if ((ret = m920x_read(udev, M9206_FW, 0x0, 0x0, read, 1)) != 0) 363 if ((ret = m920x_read(udev, M9206_FW, 0x0, 0x0, read, 1)) != 0)
364 goto done; 364 goto done;
diff --git a/drivers/media/usb/dvb-usb/technisat-usb2.c b/drivers/media/usb/dvb-usb/technisat-usb2.c
index acefaa89cc53..7a8c8c18590f 100644
--- a/drivers/media/usb/dvb-usb/technisat-usb2.c
+++ b/drivers/media/usb/dvb-usb/technisat-usb2.c
@@ -677,6 +677,7 @@ static struct usb_device_id technisat_usb2_id_table[] = {
677 { USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_DVB_S2) }, 677 { USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_DVB_S2) },
678 { 0 } /* Terminating entry */ 678 { 0 } /* Terminating entry */
679}; 679};
680MODULE_DEVICE_TABLE(usb, technisat_usb2_id_table);
680 681
681/* device description */ 682/* device description */
682static struct dvb_usb_device_properties technisat_usb2_devices = { 683static struct dvb_usb_device_properties technisat_usb2_devices = {
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
index f7297ae76b48..16a84f9f46d8 100644
--- a/drivers/media/usb/em28xx/em28xx-cards.c
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
@@ -2203,7 +2203,7 @@ EXPORT_SYMBOL_GPL(em28xx_tuner_callback);
2203 2203
2204static inline void em28xx_set_model(struct em28xx *dev) 2204static inline void em28xx_set_model(struct em28xx *dev)
2205{ 2205{
2206 memcpy(&dev->board, &em28xx_boards[dev->model], sizeof(dev->board)); 2206 dev->board = em28xx_boards[dev->model];
2207 2207
2208 /* Those are the default values for the majority of boards 2208 /* Those are the default values for the majority of boards
2209 Use those values if not specified otherwise at boards entry 2209 Use those values if not specified otherwise at boards entry
diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
index 913e5227897a..13ae821949e9 100644
--- a/drivers/media/usb/em28xx/em28xx-dvb.c
+++ b/drivers/media/usb/em28xx/em28xx-dvb.c
@@ -574,18 +574,19 @@ static void pctv_520e_init(struct em28xx *dev)
574 i2c_master_send(&dev->i2c_client, regs[i].r, regs[i].len); 574 i2c_master_send(&dev->i2c_client, regs[i].r, regs[i].len);
575}; 575};
576 576
577static int em28xx_pctv_290e_set_lna(struct dvb_frontend *fe, int val) 577static int em28xx_pctv_290e_set_lna(struct dvb_frontend *fe)
578{ 578{
579 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
579 struct em28xx *dev = fe->dvb->priv; 580 struct em28xx *dev = fe->dvb->priv;
580#ifdef CONFIG_GPIOLIB 581#ifdef CONFIG_GPIOLIB
581 struct em28xx_dvb *dvb = dev->dvb; 582 struct em28xx_dvb *dvb = dev->dvb;
582 int ret; 583 int ret;
583 unsigned long flags; 584 unsigned long flags;
584 585
585 if (val) 586 if (c->lna == 1)
586 flags = GPIOF_OUT_INIT_LOW; 587 flags = GPIOF_OUT_INIT_HIGH; /* enable LNA */
587 else 588 else
588 flags = GPIOF_OUT_INIT_HIGH; 589 flags = GPIOF_OUT_INIT_LOW; /* disable LNA */
589 590
590 ret = gpio_request_one(dvb->lna_gpio, flags, NULL); 591 ret = gpio_request_one(dvb->lna_gpio, flags, NULL);
591 if (ret) 592 if (ret)
@@ -595,8 +596,8 @@ static int em28xx_pctv_290e_set_lna(struct dvb_frontend *fe, int val)
595 596
596 return ret; 597 return ret;
597#else 598#else
598 dev_warn(&dev->udev->dev, "%s: LNA control is disabled\n", 599 dev_warn(&dev->udev->dev, "%s: LNA control is disabled (lna=%u)\n",
599 KBUILD_MODNAME); 600 KBUILD_MODNAME, c->lna);
600 return 0; 601 return 0;
601#endif 602#endif
602} 603}
diff --git a/drivers/media/usb/stk1160/stk1160-core.c b/drivers/media/usb/stk1160/stk1160-core.c
index b62740846061..34a26e0cfe77 100644
--- a/drivers/media/usb/stk1160/stk1160-core.c
+++ b/drivers/media/usb/stk1160/stk1160-core.c
@@ -100,12 +100,21 @@ int stk1160_write_reg(struct stk1160 *dev, u16 reg, u16 value)
100 100
101void stk1160_select_input(struct stk1160 *dev) 101void stk1160_select_input(struct stk1160 *dev)
102{ 102{
103 int route;
103 static const u8 gctrl[] = { 104 static const u8 gctrl[] = {
104 0x98, 0x90, 0x88, 0x80 105 0x98, 0x90, 0x88, 0x80, 0x98
105 }; 106 };
106 107
107 if (dev->ctl_input < ARRAY_SIZE(gctrl)) 108 if (dev->ctl_input == STK1160_SVIDEO_INPUT)
109 route = SAA7115_SVIDEO3;
110 else
111 route = SAA7115_COMPOSITE0;
112
113 if (dev->ctl_input < ARRAY_SIZE(gctrl)) {
114 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_routing,
115 route, 0, 0);
108 stk1160_write_reg(dev, STK1160_GCTRL, gctrl[dev->ctl_input]); 116 stk1160_write_reg(dev, STK1160_GCTRL, gctrl[dev->ctl_input]);
117 }
109} 118}
110 119
111/* TODO: We should break this into pieces */ 120/* TODO: We should break this into pieces */
@@ -351,8 +360,6 @@ static int stk1160_probe(struct usb_interface *interface,
351 360
352 /* i2c reset saa711x */ 361 /* i2c reset saa711x */
353 v4l2_device_call_all(&dev->v4l2_dev, 0, core, reset, 0); 362 v4l2_device_call_all(&dev->v4l2_dev, 0, core, reset, 0);
354 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_routing,
355 0, 0, 0);
356 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0); 363 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0);
357 364
358 /* reset stk1160 to default values */ 365 /* reset stk1160 to default values */
diff --git a/drivers/media/usb/stk1160/stk1160-v4l.c b/drivers/media/usb/stk1160/stk1160-v4l.c
index fe6e857969ca..6694f9e2ca57 100644
--- a/drivers/media/usb/stk1160/stk1160-v4l.c
+++ b/drivers/media/usb/stk1160/stk1160-v4l.c
@@ -419,7 +419,12 @@ static int vidioc_enum_input(struct file *file, void *priv,
419 if (i->index > STK1160_MAX_INPUT) 419 if (i->index > STK1160_MAX_INPUT)
420 return -EINVAL; 420 return -EINVAL;
421 421
422 sprintf(i->name, "Composite%d", i->index); 422 /* S-Video special handling */
423 if (i->index == STK1160_SVIDEO_INPUT)
424 sprintf(i->name, "S-Video");
425 else
426 sprintf(i->name, "Composite%d", i->index);
427
423 i->type = V4L2_INPUT_TYPE_CAMERA; 428 i->type = V4L2_INPUT_TYPE_CAMERA;
424 i->std = dev->vdev.tvnorms; 429 i->std = dev->vdev.tvnorms;
425 return 0; 430 return 0;
diff --git a/drivers/media/usb/stk1160/stk1160.h b/drivers/media/usb/stk1160/stk1160.h
index 3feba0033f98..68c8707d36ab 100644
--- a/drivers/media/usb/stk1160/stk1160.h
+++ b/drivers/media/usb/stk1160/stk1160.h
@@ -46,7 +46,8 @@
46 46
47#define STK1160_MIN_PKT_SIZE 3072 47#define STK1160_MIN_PKT_SIZE 3072
48 48
49#define STK1160_MAX_INPUT 3 49#define STK1160_MAX_INPUT 4
50#define STK1160_SVIDEO_INPUT 4
50 51
51#define STK1160_I2C_TIMEOUT 100 52#define STK1160_I2C_TIMEOUT 100
52 53
diff --git a/drivers/media/usb/uvc/uvc_queue.c b/drivers/media/usb/uvc/uvc_queue.c
index 5577381b5bf0..18a91fae6bc1 100644
--- a/drivers/media/usb/uvc/uvc_queue.c
+++ b/drivers/media/usb/uvc/uvc_queue.c
@@ -122,21 +122,27 @@ static struct vb2_ops uvc_queue_qops = {
122 .buf_finish = uvc_buffer_finish, 122 .buf_finish = uvc_buffer_finish,
123}; 123};
124 124
125void uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type, 125int uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
126 int drop_corrupted) 126 int drop_corrupted)
127{ 127{
128 int ret;
129
128 queue->queue.type = type; 130 queue->queue.type = type;
129 queue->queue.io_modes = VB2_MMAP | VB2_USERPTR; 131 queue->queue.io_modes = VB2_MMAP | VB2_USERPTR;
130 queue->queue.drv_priv = queue; 132 queue->queue.drv_priv = queue;
131 queue->queue.buf_struct_size = sizeof(struct uvc_buffer); 133 queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
132 queue->queue.ops = &uvc_queue_qops; 134 queue->queue.ops = &uvc_queue_qops;
133 queue->queue.mem_ops = &vb2_vmalloc_memops; 135 queue->queue.mem_ops = &vb2_vmalloc_memops;
134 vb2_queue_init(&queue->queue); 136 ret = vb2_queue_init(&queue->queue);
137 if (ret)
138 return ret;
135 139
136 mutex_init(&queue->mutex); 140 mutex_init(&queue->mutex);
137 spin_lock_init(&queue->irqlock); 141 spin_lock_init(&queue->irqlock);
138 INIT_LIST_HEAD(&queue->irqqueue); 142 INIT_LIST_HEAD(&queue->irqqueue);
139 queue->flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0; 143 queue->flags = drop_corrupted ? UVC_QUEUE_DROP_CORRUPTED : 0;
144
145 return 0;
140} 146}
141 147
142/* ----------------------------------------------------------------------------- 148/* -----------------------------------------------------------------------------
diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
index 1c15b4227bdb..57c3076a4625 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -1755,7 +1755,9 @@ int uvc_video_init(struct uvc_streaming *stream)
1755 atomic_set(&stream->active, 0); 1755 atomic_set(&stream->active, 0);
1756 1756
1757 /* Initialize the video buffers queue. */ 1757 /* Initialize the video buffers queue. */
1758 uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param); 1758 ret = uvc_queue_init(&stream->queue, stream->type, !uvc_no_drop_param);
1759 if (ret)
1760 return ret;
1759 1761
1760 /* Alternate setting 0 should be the default, yet the XBox Live Vision 1762 /* Alternate setting 0 should be the default, yet the XBox Live Vision
1761 * Cam (and possibly other devices) crash or otherwise misbehave if 1763 * Cam (and possibly other devices) crash or otherwise misbehave if
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
index 3764040475bb..af216ec45e39 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -600,7 +600,7 @@ extern struct uvc_driver uvc_driver;
600extern struct uvc_entity *uvc_entity_by_id(struct uvc_device *dev, int id); 600extern struct uvc_entity *uvc_entity_by_id(struct uvc_device *dev, int id);
601 601
602/* Video buffers queue management. */ 602/* Video buffers queue management. */
603extern void uvc_queue_init(struct uvc_video_queue *queue, 603extern int uvc_queue_init(struct uvc_video_queue *queue,
604 enum v4l2_buf_type type, int drop_corrupted); 604 enum v4l2_buf_type type, int drop_corrupted);
605extern int uvc_alloc_buffers(struct uvc_video_queue *queue, 605extern int uvc_alloc_buffers(struct uvc_video_queue *queue,
606 struct v4l2_requestbuffers *rb); 606 struct v4l2_requestbuffers *rb);