- 07 Jan, 2014 6 commits
-
-
Mauro Carvalho Chehab authored
Use the same module version on all em28xx sub-modules, and use the same naming convention to describe the driver. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Better to split chipset detection from the audio setup. So, move the detection code to em28xx_init_dev(). Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Add a message with consistent prints before and after each extension initialization, and provide a better text for module load. While here, add a missing sanity check for extension finish code at em28xx-v4l extension. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Now that all analog-specific code are at em28xx-video, convert it into an em28xx extension and load it as a separate module. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Tested-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Fix the error handling logic, making it to unregister i2c bus 0, in case of a failure to register the second bus. Reported-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
There are several init code inside em28xx-cards that are actually part of analog initialization. Move the code to em28x-video, in order to remove part of the mess. In thesis, no functional changes so far. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
- 05 Jan, 2014 5 commits
-
-
Mauro Carvalho Chehab authored
When em28xx extensions are loaded/removed, there are two locks: a single static em28xx_devlist_mutex that registers each extension and the struct em28xx dev->lock. When extensions are registered, em28xx_devlist_mutex is taken first, and then dev->lock. Be sure that, when extensions are being removed, the same order will be used. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
In order to make easier for the next patches, do some cosmetic changes. No functional changes. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Now that we want to split the video handling to a separate module, move all video-specific functions to em28xx-video. No functional changes. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
This macro is not used. remove it. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
Instead of using two I2C operations between write and read, use just one i2c_transfer. That allows I2C mutexes to not let any other I2C transfer between the two. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Tested-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
- 02 Jan, 2014 8 commits
-
-
Dan Carpenter authored
The spin_lock_irqsave() macro is not nestable. The second call will overwrite the first record of "flags" so the IRQs will not be enabled correctly at the end of the function. In the current code, this function is always called from the IRQ handler so everything works fine and this fix doesn't change anything. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Dan Carpenter authored
Smatch complains here because name is a 32 character buffer and we adding the "OMAP4 ISS " prefix as well for a total of 42 characters. The sd->name buffer can only hold 32 characters. I've changed it to use snprintf() to silence the overflow warning. Also I have removed the call to strlcpy() which is a no-op. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
Now when the sub-drivers are fixed to work with runtime PM disabled this erroneous dependency can be removed. The CAM and ISP power domains should be left in active state by the platform if runtime PM is not used. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
Ensure the device works also when runtime PM is disabled. This will allow to drop an incorrect dependency on PM_RUNTIME. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
The memory allocator is being initialized before registering the subdevs so reverse the cleanup sequence to avoid trying unregister not registered subdevs. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
Ensure the device also works when runtime PM is disabled. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
Devices should also operate normally when runtime PM is not enabled. In case runtime PM is disabled activate the device already in probe(). Any related power domain needs to be then left permanently in active state by the platform. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Sylwester Nawrocki authored
Driver should ensure a device can be also used normally when runtime PM is disabled. So enable the FIMC clock in probe() in such situation. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
- 21 Dec, 2013 3 commits
-
-
Andrzej Hajda authored
Driver for Samsung S5K5BAF UXGA 1/5" 2M CMOS Image Sensor with embedded SoC ISP. The device is exposed as two V4L2 subdevices: - S5K5BAF-CIS - the image sensor matrix, fixed 1600x1200 format, no controls. - S5K5BAF-ISP - the Image Signal Processor, formats up to 1600x1200, pre/post ISP cropping, downscaling via selection API, controls. [m.chehab@samsung.com: Whitespace cleanups] Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Andrzej Hajda authored
This patch adds the DT bindings documentation for Samsung S5K5BAF Image Sensor. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
As reported by the kbuild test robot <fengguang.wu@intel.com>: > warning: (VIDEO_EM28XX_DVB) selects DVB_M88DS3103 which has unmet direct dependencies (MEDIA_SUPPORT && DVB_CORE && I2C && I2C_MUX) > drivers/built-in.o: In function `m88ds3103_release': > >> m88ds3103.c:(.text+0x1ab1af): undefined reference to `i2c_del_mux_adapter' > drivers/built-in.o: In function `m88ds3103_attach': > >> (.text+0x1ab342): undefined reference to `i2c_add_mux_adapter' There are 3 possible ways to fix it: 1) make em28xx dependent on I2C_MUX. That sounds wrong, as the em28xx bridge doesn't have i2c muxes on it, and just one frontend has. Well, subdevs could eventually be converted to, instead of using dvb i2c gate control, to use i2c mux support. That makes sense, but it takes time and lots of effort. Not sure if this will happen anytime soon. 2) MEDIA_SUBDRV_AUTOSELECT can be dependent of I2C and I2C_MUX. That means that users will need to manually enable I2C_MUX on some distributions. Not sure about others, but, on Fedora, this option is disabled. So, it can end by generating a number of complains from users that their devices suddenly stopped working after a Kernel upgrade, at least until all distros that ship Kernels with I2C_MUX enabled. 3) if MEDIA_SUBDRV_AUTOSELECT is selected, it will select I2C and I2C_MUX. Of course, MEDIA_SUBDRV_AUTOSELECT will need to inherit all dependencies that I2C and I2C_MUX have (only HAS_IOMEM). The disadvantage is that, if new dependencies are added on I2C, they'll also need to be added here. As the hole idea of autoselect is to let the user not bother about whatever frontend/tuner is used by a driver, IMHO, (3) is the better solution. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
- 20 Dec, 2013 5 commits
-
-
Antti Palosaari authored
PLL was attached twice to frontend0 leaving frontend1 without a tuner. frontend0 is DVB-C and frontend1 is DVB-T. Cc: stable@vger.kernel.org Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Frank Schaefer authored
For GPI-connected buttons without (hardware) debouncing, the polling interval needs to be reduced to detect button presses properly. Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Hans Verkuil authored
The omap24xx driver and the tcm825x sensor driver are the only two remaining drivers to still use the old deprecated v4l2-int-device API. Nobody maintains these drivers anymore. But unfortunately the v4l2-int-device API is used by out-of-tree drivers (MXC platform). This is a very bad situation since as long as this deprecated API stays in the kernel there is no reason for those out-of-tree drivers to convert. This patch moves v4l2-int-device and the two drivers that depend on it to staging in preparation for their removal. If someone would be interested in getting these drivers to work, then start with this since it's not very far from the state where they used to work: <URL:http://vihersipuli.retiisi.org.uk/cgi-bin/gitweb.cgi?p=~sailus/linux-omap/.git;a=summary> The branch is n800-cam. Porting to up-to-date APIs can then be done. David might have done some work in that area, so check with him first. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Sakari Ailus <sakari.ailus@iki.fi> Cc: David Cohen <dacohen@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Hans Verkuil authored
During the last media summit meeting it was decided to move this driver to staging as the first step to removing it altogether. Most webcams covered by this driver are now supported by gspca. Nobody has the hardware to convert the remaining devices to gspca. This driver needs a major overhaul to have it conform to the latest frameworks and compliancy tests. Without hardware, however, this is next to impossible. Given the fact that this driver seems to be pretty much unused (it has been removed from Fedora several versions ago and nobody complained about that), we decided to drop this driver. This patch moves it to staging. Some time in 2014 we will drop it completely. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Mauro Carvalho Chehab authored
As reported by kbuild test robot <fengguang.wu@intel.com>: with a random config: drivers/built-in.o: In function `dib8000_get_time_us.isra.16': >> dib8000.c:(.text+0x3075aa): undefined reference to `__udivdi3' Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
- 19 Dec, 2013 13 commits
-
-
Robert Backhaus authored
GIT_AUTHOR_DATE=1386943312 Add USB IDs for the WinFast DTV Dongle Mini. Device is tested and works fine under MythTV Signed-off-by: Robert Backhaus <robbak@robbak.com> Acked-by: Antti Palosaari <crope@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Latest checkpatch.pl has some new requirements for coding style. Fix some of those. * remove Free Software Foundation postal address * use sizeof(*foo), not sizeof(struct foo) Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
* remove Free Software Foundation postal address * add one pair of parenthesis * use sizeof(*foo), not sizeof(struct foo) Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Adapter is locked by I2C core already. Use unlocked i2c_transfer() version __i2c_transfer() to avoid deadlock. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Convert driver from proprietary DVB driver model to standard I2C driver model. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Write inittab using reg address auto-increment in order to reduce I/O a little bit. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Reg 0x56 should be programmed to 0x01. Add default to inittab. Reported-by: David Howells <dhowells@redhat.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Optimal AGC is highly depended on used RF tuner and due to that it is already included to chip configuration. However, inittab has default AGC value, which was later replaced by one from config. Add also comment to all chip configuration options about default values and if those are needed to set or not. Reported-by: David Howells <dhowells@redhat.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Used synthesizer is very typical integer-N PLL, with configurable reference frequency divider, output frequency divider and of course N itself. Most common method to calculate values is first select output divider, then calculate VCO frequency and finally calculate PLL N from VCO frequency. Do it that way. Also make some cleanups for filter logic and signal strength. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
TS mode was configured wrongly. Reported-by: David Howells <dhowells@redhat.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
DIV_ROUND_CLOSEST does the job and looks better. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
Switch standard I2C adapter to muxed I2C adapter. David reported that I2C adapter implementation caused deadlock. I discussed with Jean and he suggested to implement it as a multiplexed i2c adapter because tuner I2C bus could be seen like own I2C segment. Reported-by: David Howells <dhowells@redhat.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-
Antti Palosaari authored
I2C transfer were using dynamic stack allocation. Get rid of it. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-