summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb
AgeCommit message (Collapse)Author
2014-09-21[media] af9033: remove I2C addr from configAntti Palosaari
I2C driver address is passed as a i2c_new_device() parameter when device is created. Thus no need to keep it in config struct. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] af9035: few small I2C master xfer changesAntti Palosaari
Biggest problem of that function is complexity. Try reduce complexity: * define macros to detect all 3 supported xfers * remove duplicate message maximum size checks Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] af9033: convert to I2C clientAntti Palosaari
Convert driver to kernel I2C model. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] it913x: re-implement sleepAntti Palosaari
Re-implement sleep. Based USB sniffs taken from the latest Hauppauge windows driver version 07/10/2014, 14.6.23.32191. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] it913x: convert to I2C driverAntti Palosaari
Change the it913x driver to use the I2C high lever tuner binding model. As af9035 depends on it, add a code there to do the binding. [mchehab@osg.samsung.com: Merge 3 patches into one, because we don't want to break bisect due to the conversion] Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] it913x: rename tuner_it913x => it913xAntti Palosaari
Remove tuner_ prefix from module name and file names. Prefix was added due to file name conflict on media out-tree build system. Demodulator having same name does not exists anymore. So lets remove dumb prefix. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] af9035: make checkpatch.pl happyAntti Palosaari
Correct issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] af9035: remove AVerMedia eeprom overrideAntti Palosaari
Reverts commit 3ab25123373270152a9fae98e3c48ef1b2a878c0 [media] af9035: override tuner for AVerMedia A835B devices Original commit itself is correct, but it was replaced by more general solution (commit 1cbbf90d0406913ad4b44194b07f4f41bde84e54). This old solution was committed by a accident and is not needed anymore. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] af9035: enable AF9033 demod clock source for IT9135Antti Palosaari
Integrated RF tuner of IT9135 is connected to demod clock source named dyn0_clk. Enable that clock source in order to provide stable clock early enough. Cc: Bimow Chen <Bimow.Chen@ite.com.tw> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] msi2500: remove unneeded spinlock irq flags initializationAntti Palosaari
There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] msi2500: logging changesAntti Palosaari
Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] airspy: enhance sample rate debug calculation precisionAntti Palosaari
Sample rate calculation gives a little bit too large results because in real life there was around one milliseconds (~one usb packet) too much data for given time. Calculate time more accurate in order to provide better results. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] airspy: remove unneeded spinlock irq flags initializationAntti Palosaari
There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is a macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] airspy: logging changesAntti Palosaari
Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Remove some debug logging from v4l2 ioctl functions. v4l2 core debug prints almost same information when enabled. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] airspy: coding style issuesAntti Palosaari
Fix issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21[media] airspy: fix error handling on start streamingAntti Palosaari
Free all reserved USB buffers and URBs on failure. Return all queued buffers to vb2 with state queued on error case. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-21Merge remote-tracking branch 'linus/master' into patchworkMauro Carvalho Chehab
There are some patches that depends on media-v3.16-rc6. So, merge back from upstream before applying them. * linus/master: (1123 commits) drm/nouveau: ltc/gf100-: fix cbc issues on certain boards drm/bochs: add missing drm_connector_register call drm/cirrus: add missing drm_connector_register call staging: vt6655: buffer overflow in ioctl USB: storage: Add quirks for Entrega/Xircom USB to SCSI converters USB: storage: Add quirk for Ariston Technologies iConnect USB to SCSI adapter USB: storage: Add quirk for Adaptec USBConnect 2000 USB-to-SCSI Adapter USB: EHCI: unlink QHs even after the controller has stopped [SCSI] fix for bidi use after free [SCSI] fix regression that accidentally disabled block-based tcq [SCSI] libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page drm/nouveau/runpm: fix module unload drm/radeon/px: fix module unload vgaswitcheroo: add vga_switcheroo_fini_domain_pm_ops drm/radeon: don't reset dma on r6xx-evergreen init drm/radeon: don't reset sdma on CIK init drm/radeon: don't reset dma on NI/SI init drm/radeon/dpm: fix resume on mullins drm/radeon: Disable HDP flush before every CS again for < r600 ...
2014-09-08[media] trivial: drivers/media/usb/gspca/gspca.h: indent with TABs, not spacesAntonio Ospite
Signed-off-by: Antonio Ospite <ao2@ao2.it> Cc: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-08[media] trivial: drivers/media/usb/gspca/gspca.c: fix the indentation of a ↵Antonio Ospite
comment Fix indentation of a comment, put it on the same level of the code it refers to. Signed-off-by: Antonio Ospite <ao2@ao2.it> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-04[media] af9035: new IDs: add support for PCTV 78e and PCTV 79eMalcolm Priestley
add the following IDs USB_PID_PCTV_78E (0x025a) for PCTV 78e USB_PID_PCTV_79E (0x0262) for PCTV 79e For these it9135 devices. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Cc: Antti Palosaari <crope@iki.fi> Cc: <stable@vger.kernel.org> # v3.14+ Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] cx231xx: just return 0 instead of using a varMauro Carvalho Chehab
Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] msi2500: simplify boolean testsMauro Carvalho Chehab
Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] af9005: use true/false for boolean varsMauro Carvalho Chehab
Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] lmedm04: use true/false for boolean varsMauro Carvalho Chehab
Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] au0828-dvb: use true/false for boolean varsMauro Carvalho Chehab
Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] em28xx: use true/false for boolean varsMauro Carvalho Chehab
Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] em28xx: fix sparse warningsHans Verkuil
drivers/media/usb/em28xx/em28xx-core.c:297:16: warning: cast to restricted __le16 drivers/media/usb/em28xx/em28xx-cards.c:2249:20: warning: symbol 'em28xx_bcount' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] cxusb: fix sparse warningHans Verkuil
drivers/media/usb/dvb-usb/cxusb.c:178:40: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] cx231xx: fix sparse warningsHans Verkuil
drivers/media/usb/cx231xx/cx231xx-avcore.c:2226:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2447:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2475:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2500:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2647:18: warning: incorrect type in assignment (different base types) drivers/media/usb/cx231xx/cx231xx-avcore.c:2659:21: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-dvb.c:743:57: warning: Using plain integer as NULL pointer drivers/media/usb/cx231xx/cx231xx-dvb.c:776:57: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] pwc: fix sparse warningHans Verkuil
drivers/media/usb/pwc/pwc-v4l.c:55:12: warning: symbol 'pwc_auto_whitebal_qmenu' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] dvb_usb_core: fix sparse warningHans Verkuil
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:24:5: warning: symbol 'dvb_usbv2_disable_rc_polling' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] s2255drv: fix sparse warningHans Verkuil
drivers/media/usb/s2255/s2255drv.c:2248:20: warning: cast to restricted __le16 At the USB structs there are two different idProduct: usb_device_id::idProduct - already on CPU endiannes usb_device::descriptor.idProduct - with is LE16 In this specific case, the driver checks for the one at usb_device_id struct, with already have CPU endianness. So, no conversion is required. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] usbtv: fix sparse warningsHans Verkuil
drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] uvc: fix sparse warningHans Verkuil
drivers/media/usb/uvc/uvc_video.c:1466:38: warning: incorrect type in return expression (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] kinect: fix sparse warningsHans Verkuil
drivers/media/usb/gspca/kinect.c:151:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:152:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:153:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:191:13: warning: restricted __le16 degrades to integer drivers/media/usb/gspca/kinect.c:217:16: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:218:16: warning: incorrect type in assignment (different base types) Note that this fixes a real bug where cpu_to_le16 was used instead of the correct le16_to_cpu. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Antonio Ospite <ao2@ao2.it> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] go7007: fix sparse warningsHans Verkuil
drivers/media/usb/go7007/go7007-usb.c:699:30: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:769:38: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:770:39: warning: cast to restricted __le16 Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] pctv452e: fix sparse warningsHans Verkuil
drivers/media/usb/dvb-usb/pctv452e.c:886:64: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:903:63: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:968:19: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:1026:19: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] opera1: fix sparse warningsHans Verkuil
drivers/media/usb/dvb-usb/opera1.c:557:29: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/opera1.c:558:33: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] mxl111sf: fix sparse warningsHans Verkuil
drivers/media/usb/dvb-usb-v2/mxl111sf.c:34:5: warning: symbol 'dvb_usb_mxl111sf_isoc' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:38:5: warning: symbol 'dvb_usb_mxl111sf_spi' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:46:5: warning: symbol 'dvb_usb_mxl111sf_rfswitch' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:890:22: warning: symbol 'mxl111sf_i2c_algo' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] dw2102: fix sparse warningsHans Verkuil
drivers/media/usb/dvb-usb/dw2102.c:670:65: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1601:32: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1904:34: warning: symbol 'p1100' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1911:34: warning: symbol 's660' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1930:34: warning: symbol 'p7500' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1937:34: warning: symbol 's421' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] af9015: fix sparse warningHans Verkuil
drivers/media/usb/dvb-usb-v2/af9015.c:422:38: warning: cast to restricted __le32 Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] dibusb: fix sparse warningsHans Verkuil
drivers/media/usb/dvb-usb/dibusb-common.c:261:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:262:52: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:300:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:301:44: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:313:47: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:314:47: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] msi2500: remove unneeded local pointer on msi2500_isoc_init()Antti Palosaari
There is no need to keep local copy of usb_device pointer as we have same pointer stored and available easily from device state. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] dvb-usb-v2: remove dvb_usb_device NULL checkAntti Palosaari
Reported by Dan Carpenter: The patch d10d1b9ac97b: "[media] dvb_usb_v2: use dev_* logging macros" from Jun 26, 2012, leads to the following Smatch complaint: drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c:31 dvb_usb_v2_generic_io() error: we previously assumed 'd' could be null (see line 29) ... Remove whole check as it must not happen in any case. Driver is totally broken if it does not have valid pointer to device. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] cxusb: Add read_mac_address for TT CT2-4400 and CT2-4650Olli Salonen
Read MAC address from the EEPROM. This version two corrects a flaw in the result code returning that did exist in the first version. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] cxusb: Add support for TechnoTrend TT-connect CT2-4650 CIOlli Salonen
TechnoTrend TT-connect CT2-4650 CI (0b48:3012) is an USB DVB-T2/C tuner with the following components: USB interface: Cypress CY7C68013A-56LTXC Demodulator: Silicon Labs Si2168-A20 Tuner: Silicon Labs Si2158-A20 CI chip: CIMaX SP2HF The firmware for the tuner is the same as for TechnoTrend TT-TVStick CT2-4400. See https://www.mail-archive.com/linux-media@vger.kernel.org/msg76944.html The demodulator needs a firmware that can be extracted from the Windows drivers. File ttConnect4650_64.sys should be extracted from http://www.tt-downloads.de/bda-treiber_4.1.0.4.zip (MD5 sum below). 3464bfc37a47b4032568718bacba23fb ttConnect4650_64.sys Then the firmware can be extracted: dd if=ttConnect4650_64.sys ibs=1 skip=273376 count=6424 of=dvb-demod-si2168-a20-01.fw The SP2 CI module requires a definition of a function cxusb_tt_ct2_4650_ci_ctrl that is passed on to the SP2 driver and called back for CAM operations. [crope@iki.fi: meld USB ID define patch to this] Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] cxusb: add ts mode setting for TechnoTrend CT2-4400Olli Salonen
TS mode must be set in the existing TechnoTrend CT2-4400 driver. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] em28xx: add ts mode setting for PCTV 292eOlli Salonen
TS mode must be set in the existing PCTV 292e driver. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] m88ds3103: implement set voltage and TS clocknibble.max
Implement set voltage operation. Separate TS clock as a own configuration parameter. Add TS clock polarity parameter. [crope@iki.fi: merge em28xx driver m88ds3103 config change patch to that one, in order to keep build unbroken] Signed-off-by: Nibble Max <nibble.max@gmail.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-02[media] media: fix kernel deadlock due to tuner pull-out while playingChangbing Xiong
Normally, ADAP_STREAMING bit is set in dvb_usb_start_feed and cleared in dvb_usb_stop_feed. But in exceptional cases, for example, when the tv is playing programs and the tuner is pulled out, then dvb_usbv2_disconnect is called. In such case, it will first call dvb_usbv2_adapter_frontend_exit to stop dvb_frontend_thread, and then call dvb_usbv2_adapter_dvb_exit to clear ADAP_STREAMING bit. At this point, if dvb_frontend_thread is sleeping and waiting for ADAP_STREAMING to be cleared to get out of sleep. then dvb_frontend_thread can never be stoped, because clearing ADAP_STREAMING bit is performed after dvb_frontend_thread is stopped (i.e. performed in dvb_usbv2_adapter_dvb_exit). So, deadlock: [ 240.822037] INFO: task khubd:497 blocked for more than 120 seconds. [ 240.822655] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.830493] khubd D c0013b3c 0 497 2 0x00000000 [ 240.836996] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c00110f4>] (schedule_timeout+0x14c/0x19c) [ 240.845940] [<c00110f4>] (schedule_timeout+0x14c/0x19c) from [<c00137f4>] (wait_for_common+0xac/0x150) [ 240.855234] [<c00137f4>] (wait_for_common+0xac/0x150) from [<c004989c>] (kthread_stop+0x58/0x90) [ 240.864004] [<c004989c>] (kthread_stop+0x58/0x90) from [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) [ 240.872849] [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) from [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) [ 240.882666] [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) from [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) [ 240.892204] [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) from [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) [ 240.901499] [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) from [<c031c050>] (usb_unbind_interface+0x58/0x188) [ 240.911395] [<c031c050>] (usb_unbind_interface+0x58/0x188) from [<c02c3e78>] (__device_release_driver+0x74/0xd0) [ 240.921544] [<c02c3e78>] (__device_release_driver+0x74/0xd0) from [<c02c3ef0>] (device_release_driver+0x1c/0x28) [ 240.931697] [<c02c3ef0>] (device_release_driver+0x1c/0x28) from [<c02c39b8>] (bus_remove_device+0xc4/0xe4) [ 240.941332] [<c02c39b8>] (bus_remove_device+0xc4/0xe4) from [<c02c1344>] (device_del+0xf4/0x178) [ 240.950106] [<c02c1344>] (device_del+0xf4/0x178) from [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) [ 240.959040] [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) from [<c03128b4>] (usb_disconnect+0x88/0x188) [ 240.968326] [<c03128b4>] (usb_disconnect+0x88/0x188) from [<c0313edc>] (hub_thread+0x4d0/0x1200) [ 240.977100] [<c0313edc>] (hub_thread+0x4d0/0x1200) from [<c0049690>] (kthread+0xa4/0xb0) [ 240.985174] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) [ 240.993259] INFO: task kdvb-ad-0-fe-0:3256 blocked for more than 120 seconds. [ 241.000349] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 241.008162] kdvb-ad-0-fe-0 D c0013b3c 0 3256 2 0x00000000 [ 241.014507] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c03eda44>] (wait_schedule+0x8/0x10) [ 241.022924] [<c03eda44>] (wait_schedule+0x8/0x10) from [<c001120c>] (__wait_on_bit+0x74/0xb8) [ 241.031434] [<c001120c>] (__wait_on_bit+0x74/0xb8) from [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) [ 241.040902] [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) from [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) [ 241.050618] [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) from [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) [ 241.060164] [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) from [<c0049690>] (kthread+0xa4/0xb0) [ 241.068929] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) Fix it by calling dvb_usbv2_adapter_frontend_exit() latter. Test enviroment: odroidx2 + Hauppauge(WinTV-Aero-M) Signed-off-by: Changbing Xiong <cb.xiong@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>