Revision tags: v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3, v6.6.2, v6.5.11, v6.6.1, v6.5.10, v6.6, v6.5.9, v6.5.8, v6.5.7, v6.5.6, v6.5.5, v6.5.4, v6.5.3, v6.5.2, v6.1.51, v6.5.1, v6.1.50, v6.5, v6.1.49, v6.1.48, v6.1.46, v6.1.45, v6.1.44, v6.1.43, v6.1.42, v6.1.41, v6.1.40, v6.1.39 |
|
#
7c7e33b7 |
| 14-Jul-2023 |
Rob Herring <robh@kernel.org> |
media: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that m
media: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes.
Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
Revision tags: v6.1.38, v6.1.37, v6.1.36, v6.4, v6.1.35, v6.1.34, v6.1.33, v6.1.32, v6.1.31, v6.1.30, v6.1.29, v6.1.28, v6.1.27, v6.1.26, v6.3, v6.1.25, v6.1.24, v6.1.23, v6.1.22, v6.1.21, v6.1.20, v6.1.19 |
|
#
91cfdf04 |
| 12-Mar-2023 |
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |
media: platform: sun6i-csi: drop of_match_ptr for ID table
The driver can match only via the DT table so the table should be always used and the of_match_ptr does not have any sense (this also allow
media: platform: sun6i-csi: drop of_match_ptr for ID table
The driver can match only via the DT table so the table should be always used and the of_match_ptr does not have any sense (this also allows ACPI matching via PRP0001, even though it might not be relevant here). This also fixes !CONFIG_OF error:
drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c:401:34: error: ‘sun6i_csi_of_match’ defined but not used [-Werror=unused-const-variable=]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
2fc7c4f3 |
| 26-Mar-2023 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
media: sun6i_csi: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do er
media: sun6i_csi: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is (mostly) ignored and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void.
Trivially convert this driver from always returning zero in the remove callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
Revision tags: v6.1.18, v6.1.17, v6.1.16, v6.1.15, v6.1.14, v6.1.13, v6.2, v6.1.12, v6.1.11, v6.1.10, v6.1.9, v6.1.8, v6.1.7, v6.1.6, v6.1.5, v6.0.19, v6.0.18, v6.1.4, v6.1.3, v6.0.17, v6.1.2, v6.0.16, v6.1.1, v6.0.15, v6.0.14, v6.0.13, v6.1, v6.0.12, v6.0.11, v6.0.10, v5.15.80, v6.0.9, v5.15.79, v6.0.8, v5.15.78 |
|
#
131823c4 |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Add support for hooking to the isp devices
In order to use the isp and csi together, both devices need to be parented to the same v4l2 and media devices. We use the isp as top-leve
media: sun6i-csi: Add support for hooking to the isp devices
In order to use the isp and csi together, both devices need to be parented to the same v4l2 and media devices. We use the isp as top-level device and let the csi code hook to its v4l2 and media devices when async subdev registration takes place.
As a result v4l2/media device setup is only called when the ISP is missing and the capture device is registered after the devices are hooked. The bridge subdev and its notifier are registered without any device when the ISP is available. Top-level pointers for the devices are introduced to either redirect to the hooked ones (isp available) or the registered ones (isp missing).
Also keep track of whether the capture node was setup or not to avoid cleaning up resources when it wasn't.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
0fbbb09c |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Detect the availability of the ISP
Add a helper to detect whether the ISP is available and connected and store the indication in the driver-specific device structure.
Signed-off-b
media: sun6i-csi: Detect the availability of the ISP
Add a helper to detect whether the ISP is available and connected and store the indication in the driver-specific device structure.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
c1a02236 |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Request a shared interrupt
Request our interrupt shared since it is typically shared with the isp block. The interrupt routine looks good to go for shared irq.
Signed-off-by: Paul
media: sun6i-csi: Request a shared interrupt
Request our interrupt shared since it is typically shared with the isp block. The interrupt routine looks good to go for shared irq.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
4656d8ab |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Add extra checks to the interrupt routine
Check against the enabled bits and make sure capture is running before serving an interrupt, to add extra safety in the process.
Signed-o
media: sun6i-csi: Add extra checks to the interrupt routine
Check against the enabled bits and make sure capture is running before serving an interrupt, to add extra safety in the process.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
dc85e4cd |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Cleanup headers and includes, update copyright lines
Cleanup includes, update copyright lines and some cosmetic changes.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootli
media: sun6i-csi: Cleanup headers and includes, update copyright lines
Cleanup includes, update copyright lines and some cosmetic changes.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
1fd07a80 |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Implement capture link validation with logic
Rework the capture link validate implementation with actual logic that reflects the possibilities of the device instead of the combinat
media: sun6i-csi: Implement capture link validation with logic
Rework the capture link validate implementation with actual logic that reflects the possibilities of the device instead of the combinatory helper functions, using the added match list helper sun6i_csi_is_format_supported() when needed. Remove the previous dedicated helper.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
b79dca9b |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Move register configuration to capture
Continue moving things over to capture in tidy helpers. Also take the occasion to remove the config struct, which is unwelcome redundancy and
media: sun6i-csi: Move register configuration to capture
Continue moving things over to capture in tidy helpers. Also take the occasion to remove the config struct, which is unwelcome redundancy and use the capture helpers instead.
The code is only adapted to reflect the removal of the config structure. No functional change intended.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
d0895e0f |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Move power management to runtime pm in capture
Let's just enable the module when we start using it (at stream on) and benefit from runtime pm instead of enabling it at first open.
media: sun6i-csi: Move power management to runtime pm in capture
Let's just enable the module when we start using it (at stream on) and benefit from runtime pm instead of enabling it at first open.
Also reorder the call to v4l2_pipeline_pm_get.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
85469b9e |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Split stream sequences and irq code in capture
Create minimal helpers that split the enable/disable flow, which will make it easier to move control over to the bridge later on.
Ge
media: sun6i-csi: Split stream sequences and irq code in capture
Create minimal helpers that split the enable/disable flow, which will make it easier to move control over to the bridge later on.
Generally speaking the goal is to move register configuration to the capture code and later split it with the bridge code.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
dc8b931c |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Implement address configuration without indirection
Instead of calculating the planar_offset at one point and using it later in a dedicated function, reimplement address configurat
media: sun6i-csi: Implement address configuration without indirection
Instead of calculating the planar_offset at one point and using it later in a dedicated function, reimplement address configuration with v4l2 format info in the buffer_configure function.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
b3a07d8e |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Rework register definitions, invert misleading fields
This cleans up the register definitions a bit, adds a prefix, remove masks. Registers are now fully defined, some additional f
media: sun6i-csi: Rework register definitions, invert misleading fields
This cleans up the register definitions a bit, adds a prefix, remove masks. Registers are now fully defined, some additional fields were added when needed. New format definitions are added for future use.
Some fields are wrongly defined (inverted) in Allwinner literature (e.g. field vs frame prefixes), which is quite misleading. They are now corrected to reflect their actual behavior.
This should only be a cosmetic commit. No functional change intended.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
b86f6ea0 |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Add capture state using vsync for page flip
The current implementation requires up to 3 buffers to properly implement page flipping without losing frames: one is configured before
media: sun6i-csi: Add capture state using vsync for page flip
The current implementation requires up to 3 buffers to properly implement page flipping without losing frames: one is configured before the video stream is started, one just after that and page flipping is synchronized to the frame done interrupt. The comment in the code mentions that "CSI will lookup the next dma buffer for next frame before the current frame done IRQ triggered".
Based on observations of the CSI unit behavior, it seems that the buffer DMA address is sampled when the frame scan begins (in addition to starting the stream), which corresponds to the vblank interrupt that hits just before the frame-done interrupt of the previous frame.
As a result, the address configured at the frame done interrupt is not actually used for the next frame but for the one after that.
This proposal changes the page flipping sync point to the vsync interrupt, which allows the DMA address to be sampled for the next frame instead and allows operating with only two buffers.
In addition to the change in the sync point, the code is refactored to introduce a notion of state that clarifies tracking of the buffers with tidy functions.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
e9201cb2 |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Rename sun6i_video to sun6i_csi_capture
In an effort to distinguish between the core csi engine (to be represented as the bridge) and the dma engine (the capture video device), ren
media: sun6i-csi: Rename sun6i_video to sun6i_csi_capture
In an effort to distinguish between the core csi engine (to be represented as the bridge) and the dma engine (the capture video device), rename the video component to capture, with the appropriate prefix. No functional change intended.
[Sakari Ailus: fix wrong variable issue (video -> capture) missed in patch]
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
0d2b746b |
| 03-Nov-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Add bridge v4l2 subdev with port management
Introduce a bridge v4l2 subdev to prepare for separation between the processing part (bridge) and the dma engine, which is required to p
media: sun6i-csi: Add bridge v4l2 subdev with port management
Introduce a bridge v4l2 subdev to prepare for separation between the processing part (bridge) and the dma engine, which is required to properly support ths isp workflow later on.
Currently the bridge just manages fwnode mapping to media pads, using an async notifier (which was previously in the main code). The s_stream video op just forwards to the connected v4l2 subdev (sensor or MIPI CSI-2 bridge).
The video capture device is now registered after the bridge and attaches to it with a media link.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
Revision tags: v6.0.7, v5.15.77, v5.15.76, v6.0.6, v6.0.5, v5.15.75, v6.0.4, v6.0.3, v6.0.2, v5.15.74, v5.15.73, v6.0.1, v5.15.72, v6.0 |
|
#
841af620 |
| 29-Sep-2022 |
Yang Li <yang.lee@linux.alibaba.com> |
media: sun6i-csi: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq() already prints an error.
Link: https://bugzilla.openanolis.cn/show
media: sun6i-csi: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq() already prints an error.
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=2314 Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
Revision tags: v5.15.71, v5.15.70, v5.15.69, v5.15.68, v5.15.67, v5.15.66, v5.15.65, v5.15.64 |
|
#
b11d9132 |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Add media ops with link notify callback
In order to keep the power use count fields balanced when link changes happen between v4l2_pipeline_pm_get/set calls (in open/close), the li
media: sun6i-csi: Add media ops with link notify callback
In order to keep the power use count fields balanced when link changes happen between v4l2_pipeline_pm_get/set calls (in open/close), the link_notify media operation callback needs to be registered.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
daafbb94 |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Remove controls handler from the driver
The driver does not expose controls directly and thus does not need a controls handler for its own use.
Controls attached to subdevs used t
media: sun6i-csi: Remove controls handler from the driver
The driver does not expose controls directly and thus does not need a controls handler for its own use.
Controls attached to subdevs used to be exposed that way, however this can easily lead to issue when multiple subdevs attached to the same v4l2 device expose the same controls. Subdev controls should be set through each individual subdev node instead.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
f9a6e565 |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Register the media device after creation
There is no particular need to register the media device in the subdev notify complete callback.
Register it in the v4l2 code instead wher
media: sun6i-csi: Register the media device after creation
There is no particular need to register the media device in the subdev notify complete callback.
Register it in the v4l2 code instead where it's more in-context.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
92cc5158 |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Pass and store csi device directly in video code
The video structure is part of the main csi device structure, so pass pointers to that top-level structure directly. This makes it
media: sun6i-csi: Pass and store csi device directly in video code
The video structure is part of the main csi device structure, so pass pointers to that top-level structure directly. This makes it easier to navigate and access other elements. No functional change intended.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
ab2e8d5d |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Tidy up video code
Some code cleanups, renames, variable lowerings and moving things around for better organization. No functional change intended.
Signed-off-by: Paul Kocialkowsk
media: sun6i-csi: Tidy up video code
Some code cleanups, renames, variable lowerings and moving things around for better organization. No functional change intended.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
cad7f35c |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Tidy up v4l2 code
Various cosmetic improvements to the v4l2 registration code, with renames, lowerings, etc. The cleanup function is moved down after setup. No functional change in
media: sun6i-csi: Tidy up v4l2 code
Various cosmetic improvements to the v4l2 registration code, with renames, lowerings, etc. The cleanup function is moved down after setup. No functional change intended.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|
#
69b80659 |
| 26-Aug-2022 |
Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
media: sun6i-csi: Use runtime pm for clocks and reset
Wrap the clock and reset preparation into runtime pm functions for better organization of the code. Also fix the clock and reset enable order to
media: sun6i-csi: Use runtime pm for clocks and reset
Wrap the clock and reset preparation into runtime pm functions for better organization of the code. Also fix the clock and reset enable order to first deassert reset, as recommended in Allwinner literature.
Make the driver depend on PM while at it since runtime pm is mandatory for the driver to work.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
show more ...
|