- 11 1月, 2016 6 次提交
-
-
由 Javier Martinez Canillas 提交于
The media device node is registered and so made visible to user-space before entities are registered and links created which means that the media graph obtained by user-space could be only partially enumerated if that happens too early before all the graph has been created. To avoid this race condition, split the media init and registration in separate functions and only register the media device node when all the pending subdevices have been registered, either explicitly by the driver or asynchronously using v4l2_async_register_subdev(). The media_device_register() had a check for drivers not filling dev and model fields but all drivers in mainline set them and not doing it will be a driver bug so change the function return to void and add a BUG_ON() for dev being NULL instead. Also, add a media_device_cleanup() function that will destroy the graph_mutex that is initialized in media_device_init(). [mchehab@osg.samsung.com: Fix compilation if !CONFIG_MEDIA_CONTROLLER and remove two warnings added by this changeset] Suggested-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Acked-by: NSakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Rename the userspace types from MEDIA_ENT_T_ to MEDIA_ENT_F_ and add the backward compatibility bits. The changes at the .c files was generated by the following coccinelle script: @@ @@ -MEDIA_ENT_T_UNKNOWN +MEDIA_ENT_F_UNKNOWN @@ @@ -MEDIA_ENT_T_DVB_BASE +MEDIA_ENT_F_DVB_BASE @@ @@ -MEDIA_ENT_T_V4L2_BASE +MEDIA_ENT_F_V4L2_BASE @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_BASE +MEDIA_ENT_F_V4L2_SUBDEV_BASE @@ @@ -MEDIA_ENT_T_CONNECTOR_BASE +MEDIA_ENT_F_CONNECTOR_BASE @@ @@ -MEDIA_ENT_T_V4L2_VIDEO +MEDIA_ENT_F_IO_V4L @@ @@ -MEDIA_ENT_T_V4L2_VBI +MEDIA_ENT_F_IO_VBI @@ @@ -MEDIA_ENT_T_V4L2_SWRADIO +MEDIA_ENT_F_IO_SWRADIO @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN +MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN @@ @@ -MEDIA_ENT_T_CONN_RF +MEDIA_ENT_F_CONN_RF @@ @@ -MEDIA_ENT_T_CONN_SVIDEO +MEDIA_ENT_F_CONN_SVIDEO @@ @@ -MEDIA_ENT_T_CONN_COMPOSITE +MEDIA_ENT_F_CONN_COMPOSITE @@ @@ -MEDIA_ENT_T_CONN_TEST +MEDIA_ENT_F_CONN_TEST @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_SENSOR +MEDIA_ENT_F_CAM_SENSOR @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_FLASH +MEDIA_ENT_F_FLASH @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_LENS +MEDIA_ENT_F_LENS @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_DECODER +MEDIA_ENT_F_ATV_DECODER @@ @@ -MEDIA_ENT_T_V4L2_SUBDEV_TUNER +MEDIA_ENT_F_TUNER @@ @@ -MEDIA_ENT_T_DVB_DEMOD +MEDIA_ENT_F_DTV_DEMOD @@ @@ -MEDIA_ENT_T_DVB_DEMUX +MEDIA_ENT_F_TS_DEMUX @@ @@ -MEDIA_ENT_T_DVB_TSOUT +MEDIA_ENT_F_IO_DTV @@ @@ -MEDIA_ENT_T_DVB_CA +MEDIA_ENT_F_DTV_CA @@ @@ -MEDIA_ENT_T_DVB_NET_DECAP +MEDIA_ENT_F_DTV_NET_DECAP Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Entities should have one or more functions. Calling it as a type proofed to not be correct, as an entity could eventually have more than one type. So, rename the field as function. Please notice that this patch doesn't extend support for multiple function entities. Such change will happen when we have real case drivers using it. No functional changes. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
If the graph creation fails, don't register the device. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Tuners actually have at least one connector on its input. Add a PAD to connect it. Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
With the new API, a link can be either between two PADs or between an interface and an entity. So, we need to use a better name for the function that create links between two pads. So, rename the such function to media_create_pad_link(). No functional changes. This patch was created via this shell script: for i in $(find drivers/media -name '*.[ch]' -type f) $(find drivers/staging/media -name '*.[ch]' -type f) $(find include/ -name '*.h' -type f) ; do sed s,media_entity_create_link,media_create_pad_link,g <$i >a && mv a $i; done Acked-by: NHans Verkuil <hans.verkuil@cisco.com> Tested-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 19 11月, 2015 1 次提交
-
-
由 Matthias Schwarzott 提交于
Tested: * CX231XX_BOARD_HAUPPAUGE_930C_HD_1113xx * CX231XX_BOARD_HAUPPAUGE_930C_HD_1114xx Not Tested: * CX231XX_BOARD_HAUPPAUGE_EXETER * CX231XX_BOARD_HAUPPAUGE_955Q Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 17 11月, 2015 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Let's not mix headers used by the core with those headers that are needed by some driver-specific interface header. The headers used on drivers were manually moved using: mkdir include/media/drv-intf/ git mv include/media/cx2341x.h include/media/cx25840.h \ include/media/exynos-fimc.h include/media/msp3400.h \ include/media/s3c_camif.h include/media/saa7146.h \ include/media/saa7146_vv.h include/media/sh_mobile_ceu.h \ include/media/sh_mobile_csi2.h include/media/sh_vou.h \ include/media/si476x.h include/media/soc_mediabus.h \ include/media/tea575x.h include/media/drv-intf/ And the references for those headers were corrected using: MAIN_DIR="media/" PREV_DIR="media/" DIRS="drv-intf/" echo "Checking affected files" >&2 for i in $DIRS; do for j in $(find include/$MAIN_DIR/$i -type f -name '*.h'); do n=`basename $j` git grep -l $n done done|sort|uniq >files && ( echo "Handling files..." >&2; echo "for i in \$(cat files|grep -v Documentation); do cat \$i | \\"; ( cd include/$MAIN_DIR; for j in $DIRS; do for i in $(ls $j); do echo "perl -ne 's,(include [\\\"\\<])$PREV_DIR($i)([\\\"\\>]),\1$MAIN_DIR$j\2\3,; print \$_' |\\"; done; done; echo "cat > a && mv a \$i; done"; ); echo "Handling documentation..." >&2; echo "for i in MAINTAINERS \$(cat files); do cat \$i | \\"; ( cd include/$MAIN_DIR; for j in $DIRS; do for i in $(ls $j); do echo " perl -ne 's,include/$PREV_DIR($i)\b,include/$MAIN_DIR$j\1,; print \$_' |\\"; done; done; echo "cat > a && mv a \$i; done" ); ) >script && . ./script Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 10 6月, 2015 2 次提交
-
-
由 Tommi Rantala 提交于
Add support for the Terratec Grabby with USB ID 0ccd:00a6. Signed-off-by: NTommi Rantala <tt.rantala@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Hans Verkuil 提交于
Fix this compiler warning by allocating a structure to read the eeprom instead of doing it on the stack and worse: the eeprom array is static, so that can cause problems if there are multiple cx231xx instances. cx231xx-cards.c: In function 'cx231xx_card_setup': cx231xx-cards.c:1110:1: warning: the frame size of 2064 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ I did consider removing the code altogether since the result is actually not used at the moment, but I decided against it since it is used in other drivers and someone might want to start using it in this driver as well. And then it is useful that the code is already there. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 03 4月, 2015 1 次提交
-
-
由 Hans Verkuil 提交于
Embed the video_device struct to simplify the error handling and in order to (eventually) get rid of video_device_alloc/release. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 03 3月, 2015 1 次提交
-
-
由 Olli Salonen 提交于
Hauppauge HVR-955Q is a ATSC/QAM USB tuner with LGDT3306A demodulator and SiLabs Si2157-A30 tuner. Only digital TV has been tested (both ATSC and QAM256). Signed-off-by: NOlli Salonen <olli.salonen@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 26 2月, 2015 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
drivers/media/usb/cx231xx/cx231xx-cards.c: In function ‘cx231xx_usb_probe’: drivers/media/usb/cx231xx/cx231xx-cards.c:1589:15: error: ‘struct v4l2_device’ has no member named ‘mdev’ dev->v4l2_dev.mdev = dev->media_dev; ^ drivers/media/usb/cx231xx/cx231xx-cards.c:1589:26: error: ‘struct cx231xx’ has no member named ‘media_dev’ dev->v4l2_dev.mdev = dev->media_dev; ^ scripts/Makefile.build:257: recipe for target 'drivers/media/usb/cx231xx/cx231xx-cards.o' failed Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 14 2月, 2015 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Now that we have entities and pads, let's create media links between them, for analog setup. We may not have all the links for digital yet, as the dvb extention may not be loaded yet. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Let's add media controller support for this driver and register it for both V4L and DVB. The media controller on this driver is not mandatory, as it can fully work without it. So, if the media controller register fails, just print an error message, but proceed with device registering. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 02 2月, 2015 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
changeset 5eeb3014 added a fixup at the error check code. However, it introduced a new error: drivers/media/usb/cx231xx/cx231xx-cards.c:1586 cx231xx_usb_probe() error: we previously assumed 'dev' could be null (see line 1430) This happens when dev = kmalloc() fails. So, instead of relying on it to succeed, just change the parameter of clear_bit() from 'dev->devno' to 'nr'. Cc: Alexey Khoroshilov <khoroshilov@ispras.ru> Cc: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Alexey Khoroshilov 提交于
Commit b7085c08 ("cx231xx: convert from pr_foo to dev_foo") moves usb_get_dev(interface_to_usbdev(interface)) to the beginning of cx231xx_usb_probe() to use udev->dev in dev_err(), but it does not make sure usbdev is put on all failure paths. Later dev_err(udev->dev) was replaced by dev_err(d). So the patch moves usb_get_dev() below (before the first use) and fixes another failure path. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 04 11月, 2014 5 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Unfortunately, on devices that have multiple interfaces, udev->dev points to the parent device (usb) instead of the cx231xx specific one. Due to that the logs don't look too nice, as they'll print messages as if they were produced by USB core: usb-1-2: New device Conexant Corporation Polaris AV Capturb @ 480 Mbps (1554:5010) with 7 interfaces Instead of using the name of the parent device, let's use the name of the first cx231xx interface for all cx231xx sub-modules. With this path, the logs will be nicer: cx231xx 1-2:1.1: New device Conexant Corporation Polaris AV Capturb @ 480 Mbps (1554:5010) with 7 interfaces Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
There are several places at cx231xx that uses printk without any special reason. Change all of them to use dev_foo(). Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Replace all pr_foo occurrences by dev_foo, as this is the recommended way for drivers. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
There are lots of debug printks printed with pr_info. Also, the printk's data are not too coherent: - there are duplicated driver name at the print format; - function name format string differs from function to function; - long strings broken into multiple lines; - some printks just produce ugly reports, being almost useless as-is. Do a cleanup on that. Still, there are much to be done in order to do a better printk job on this driver, but, at least it will now be a way less verbose, if debug printks are disabled, and some logs might actually be useful. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Mauro Carvalho Chehab 提交于
It currently does just like what pr_foo() macros do. So, replace them. A deeper cleanup is needed, as there are lots of debug macros printed with pr_info. Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 31 10月, 2014 5 次提交
-
-
由 Matthias Schwarzott 提交于
All switching should be done by i2c mux adapters. Drop explicit dont_use_port_3 flag. Drop info message about switch. Only the removed code in start_streaming is questionable: It did switch the port_3 flag without accessing i2c in between. Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Reviewed-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Matthias Schwarzott 提交于
change almost all instances of I2C_1 to I2C_1_MUX_3 Only these cases are changed to I2C_1_MUX_1: * All that have dont_use_port_3 set. * CX231XX_BOARD_HAUPPAUGE_EXETER, old code did explicitly not switch to port3. * eeprom access for 930C Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Reviewed-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Matthias Schwarzott 提交于
This is a preparation for mapping I2C_1_MUX_1 and I2C_1_MUX_3 later to the seperate muxed i2c adapters. Map mux adapters to I2C_1 for now. Add local variables for i2c_adapters in dvb_init to get line lengths shorter. Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Reviewed-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Matthias Schwarzott 提交于
Replace numbers by the constants of same value and same meaning. Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Reviewed-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Matthias Schwarzott 提交于
This is a preparation for deleting the otherwise useless i2c_clients that are allocated for all the i2c master adapters. Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Reviewed-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 24 9月, 2014 2 次提交
-
-
由 Matthias Schwarzott 提交于
Add support for: [2040:b139] Hauppauge WinTV HVR-901H (1114xx) According to the inf file, the hardware is similar to [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
由 Matthias Schwarzott 提交于
Add support for: [2040:b138] Hauppauge WinTV HVR-900H (111xxx) The hardware is similar to [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 28 7月, 2014 10 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Fix the following warnings: drivers/media/usb/cx231xx/cx231xx-cards.c: In function 'read_eeprom': drivers/media/usb/cx231xx/cx231xx-cards.c:979:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Matthias Schwarzott 提交于
Add support for: [2013:025e] PCTV QuatroStick 522e The hardware is identical to Hauppauge WinTV 930C-HD (model 1114xx) Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Matthias Schwarzott 提交于
Add support for: [2013:0259] PCTV QuatroStick 521e The hardware is identical to Hauppauge WinTV 930C-HD (model 1113xx) Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Matthias Schwarzott 提交于
Add support for: [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx) Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Tested-by: NMauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Matthias Schwarzott 提交于
Add support for: [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) After loading the driver the first open to dvb device node fails. Signed-off-by: NMatthias Schwarzott <zzam@gentoo.org> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Instead of using some random value, return an error if the PCB config is not available or doesn't match a know profile Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
That makes easier to understand the code. It would also help to add support for having boards with just digital support on some latter patch, as allowed by some PCB configs. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
The initialization is already too complex. Use devm_ functions to make the code simpler and easier to modify. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
On some newer boards, like HVR-930C HD, the information at the PCB tables are sometimes higher than the ones actually available on the device. That causes the probing code to go past the interfaces array. Add checks to the interface number before going past the array. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
The max number of interfaces was read from the wrong descriptor. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 07 1月, 2014 1 次提交
-
-
由 Links (Markus) 提交于
Add a new USB ID to the driver. Signed-off-by: NLinks (Markus) <help.markus+git@gmail.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-