An error occurred fetching the project authors.
- 21 Oct, 2016 18 commits
-
-
Sakari Ailus authored
The dev field of the v4l2_subdev was left NULL for the pixel array and binner sub-devices. Fix this. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Checking that the mutex is not acquired is unnecessary for user processes are stopped by this point. Drop the check. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The first time the sensor is powered on, the information is not yet available. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The media bus code obtained for try format may have been a code that the sensor did not even support. Use a supported code with the current pixel order. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The code probably has been unindented at some point but rewrapping has not been done. Do it now. Also remove a useless memory allocation failure message. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Provide more debugging information on reading the frame layout. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Besides the image data, SMIA++ compliant sensors also provide embedded data in form of registers used to capture the image. Store this information for later use in frame descriptor and routing. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The initialisation of the source sub-device is somewhat different as it's not created by the smiapp driver itself. Remove redundancy in initialising the two kind of sub-devices. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The information gathered during frame format reading will be required earlier in the initialisation when it was available. Also return an error if frame format cannot be obtained. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The smiapp_probe() is the sole caller of smiapp_init(). Unify the two. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
If the registered() callback failed, resources were left unaccounted for. Fix this, as well as add unregistering the sub-devices in driver unregistered() callback. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Initialise the sensor in probe. The reason why it wasn't previously done in case of platform data was that the probe() of the driver that provided the clock through the set_xclk() callback would need to finish before the probe() function of the smiapp driver. The set_xclk() callback no longer exists. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Instead, calculate how much is needed and then allocate the memory dynamically. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The same pixel array size is required for the active format of each sub-device sink pad and try format of each sink pad of each opened file handle as well as for the native size rectangle. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Remove the loop in sub-device registration and create each sub-device explicitly instead. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
This allows determining the number of pads in the entity based on the sensor. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Define the number of pads explicitly in initialising the sub-devices. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Simplify smiapp_init() by moving the initialisation of individual sub-devices to a separate function. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 09 Sep, 2016 1 commit
-
-
Sakari Ailus authored
SMIA++ supports 14 and 16 bits per pixel formats as well. Add support to these formats in the driver. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 05 Sep, 2016 4 commits
-
-
Sakari Ailus authored
The clock framework is generally so well supported that there's no reason to keep this one around. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
Switch from the old gpio API to the new descriptor based gpiod API. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
The clock may be provided by a driver which is yet to probe. Print the actual error code as well. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Sakari Ailus authored
This is really configuration to the driver originating from DT or elsewhere. Do not call it platform data. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by:
Sebastian Reichel <sre@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 28 Jun, 2016 1 commit
-
-
Sakari Ailus authored
The value is not used after the assignment. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 06 May, 2016 1 commit
-
-
Ivaylo Dimitrov authored
Some sensors (like the one in Nokia N900) provide metadata in the first couple of lines. Make that information information available to the pipeline. Use u16 instead, this is a 16-bit value. Signed-off-by:
Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 11 Jan, 2016 6 commits
-
-
Mauro Carvalho Chehab authored
With the MC next gen rework, what's left for media_entity_init() is to just initialize the PADs. However, certain devices, like a FLASH led/light doesn't have any input or output PAD. So, there's no reason why calling media_entity_init() would be mandatory. Also, despite its name, what this function actually does is to initialize the PADs data. So, rename it to media_entity_pads_init() in order to reflect that. The media entity actual init happens during entity register, at media_device_register_entity(). We should move init of num_links and num_backlinks to it. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
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:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
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:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Javier Martinez Canillas authored
The smiapp driver creates the pads links before the media entity is registered with the media device. This doesn't work now that object IDs are used to create links so the media_device has to be set. Move entity registration logic before pads links creation. Signed-off-by:
Javier Martinez Canillas <javier@osg.samsung.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
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:
Hans Verkuil <hans.verkuil@cisco.com> Tested-by:
Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Mauro Carvalho Chehab authored
Currently, media_entity_init() creates an array with the links, allocated at init time. It provides a parameter (extra_links) that would allocate more links than the current needs, but this is not used by any driver. As we want to be able to do dynamic link allocation/removal, we'll need to change the implementation of the links. So, before doing that, let's first remove that extra unused parameter, in order to cleanup the interface first. Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 20 Oct, 2015 1 commit
-
-
Javier Martinez Canillas authored
The I2C core always reports the MODALIAS uevent as "i2c:<client name" regardless if the driver was matched using the I2C id_table or the of_match_table. So technically there's no need for a driver to export the OF table since currently it's not used. In fact, the I2C device ID table is mandatory for I2C drivers since a i2c_device_id is passed to the driver's probe function even if the I2C core used the OF table to match the driver. And since the I2C core uses different tables, OF-only drivers needs to have duplicated data that has to be kept in sync and also the dev node compatible manufacturer prefix is stripped when reporting the MODALIAS. To avoid the above, the I2C core behavior may be changed in the future to not require an I2C device table for OF-only drivers and report the OF module alias. So, it's better to also export the OF table to prevent breaking module autoloading if that happens. Signed-off-by:
Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 27 Apr, 2015 1 commit
-
-
Sakari Ailus authored
Instead of parsing the link-frequencies property in the driver, let v4l2_of_alloc_parse_endpoint() do it. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 03 Apr, 2015 2 commits
-
-
Sakari Ailus authored
Don't set rval when it's not used (the function returns a pointer to struct smiapp_platform_data). Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Acked-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Sakari Ailus authored
The documentation stated that the link-frequencies property belongs to the endpoint node, not to the device's of_node. Fix this. There are no DT board descriptions using the driver yet, so a fix in the driver is sufficient. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Acked-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 02 Apr, 2015 3 commits
-
-
Sakari Ailus authored
pixel_order_str is only referred to in smiapp-core.c, it should be thus static. Thanks to Hans Verkuil for pointing this out. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Sakari Ailus authored
of_property_read_u64_array() wasn't yet part of the kernel tree when the functionality was needed. Do use it now. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
Sakari Ailus authored
This reverts commit cb88d738. Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 23 Mar, 2015 1 commit
-
-
Hans Verkuil authored
If a subdevice pad op is called from a bridge driver, then there is no v4l2_subdev_fh struct that can be passed to the subdevice. This made it hard to use such subdevs from a bridge driver. This patch replaces the v4l2_subdev_fh pointer by a v4l2_subdev_pad_config pointer in the pad ops. This allows bridge drivers to use the various try_ pad ops by creating a v4l2_subdev_pad_config struct and passing it along to the pad op. The v4l2_subdev_get_try_* macros had to be changed because of this, so I also took the opportunity to use the full name of the v4l2_subdev_get_try_* functions in the __V4L2_SUBDEV_MK_GET_TRY macro arguments: if you now do 'git grep v4l2_subdev_get_try_format' you will actually find the header where it is defined. One remark regarding the drivers/staging/media/davinci_vpfe patches: the *_init_formats() functions assumed that fh could be NULL. However, that's not true for this driver, it's always set. This is almost certainly a copy and paste from the omap3isp driver. I've updated the code to reflect the fact that fh is never NULL. Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Acked-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Tested-by:
Lad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by:
Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-
- 29 Jan, 2015 1 commit
-
-
Sakari Ailus authored
of_read_number() is defined in of.h but does not return an error code, so that non-of implementation could simply return an error. Temporarily work around this until of_read_number() can be replaced by of_property_read_u64_array(). Signed-off-by:
Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by:
Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-