[v2,2/6] media: pxa_camera: Drop the v4l2-clk clock register
Commit Message
Now that mach-based PXA platforms are registering proper
fixed-rate clocks through the CCF, the v4l2-clk clock
is no longer required.
Drop this clock, so the driver no longer depends on the
legacy v4l2-clk API.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
drivers/media/platform/pxa_camera.c | 30 +----------------------------
1 file changed, 1 insertion(+), 29 deletions(-)
Comments
Acked-by: Petr Cvek <petrcvekcz@gmail.com>
Dne 12. 01. 21 v 20:49 Ezequiel Garcia napsal(a):
> Now that mach-based PXA platforms are registering proper
> fixed-rate clocks through the CCF, the v4l2-clk clock
> is no longer required.
>
> Drop this clock, so the driver no longer depends on the
> legacy v4l2-clk API.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> ---
> drivers/media/platform/pxa_camera.c | 30 +----------------------------
> 1 file changed, 1 insertion(+), 29 deletions(-)
>
> diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c
> index b664ce7558a1..8cfa39108162 100644
> --- a/drivers/media/platform/pxa_camera.c
> +++ b/drivers/media/platform/pxa_camera.c
> @@ -31,7 +31,6 @@
> #include <linux/dma/pxa-dma.h>
>
> #include <media/v4l2-async.h>
> -#include <media/v4l2-clk.h>
> #include <media/v4l2-common.h>
> #include <media/v4l2-ctrls.h>
> #include <media/v4l2-device.h>
> @@ -677,7 +676,6 @@ struct pxa_camera_dev {
> unsigned long ciclk;
> unsigned long mclk;
> u32 mclk_divisor;
> - struct v4l2_clk *mclk_clk;
> u16 width_flags; /* max 10 bits */
>
> struct list_head capture;
> @@ -2030,9 +2028,6 @@ static const struct v4l2_ioctl_ops pxa_camera_ioctl_ops = {
> .vidioc_unsubscribe_event = v4l2_event_unsubscribe,
> };
>
> -static const struct v4l2_clk_ops pxa_camera_mclk_ops = {
> -};
> -
> static const struct video_device pxa_camera_videodev_template = {
> .name = "pxa-camera",
> .minor = -1,
> @@ -2140,11 +2135,6 @@ static void pxa_camera_sensor_unbind(struct v4l2_async_notifier *notifier,
>
> pxa_camera_destroy_formats(pcdev);
>
> - if (pcdev->mclk_clk) {
> - v4l2_clk_unregister(pcdev->mclk_clk);
> - pcdev->mclk_clk = NULL;
> - }
> -
> video_unregister_device(&pcdev->vdev);
> pcdev->sensor = NULL;
>
> @@ -2278,7 +2268,6 @@ static int pxa_camera_probe(struct platform_device *pdev)
> .src_maxburst = 8,
> .direction = DMA_DEV_TO_MEM,
> };
> - char clk_name[V4L2_CLK_NAME_SIZE];
> int irq;
> int err = 0, i;
>
> @@ -2417,23 +2406,11 @@ static int pxa_camera_probe(struct platform_device *pdev)
> if (err)
> goto exit_notifier_cleanup;
>
> - v4l2_clk_name_i2c(clk_name, sizeof(clk_name),
> - pcdev->asd.match.i2c.adapter_id,
> - pcdev->asd.match.i2c.address);
> -
> - pcdev->mclk_clk = v4l2_clk_register(&pxa_camera_mclk_ops, clk_name, NULL);
> - if (IS_ERR(pcdev->mclk_clk)) {
> - err = PTR_ERR(pcdev->mclk_clk);
> - goto exit_notifier_cleanup;
> - }
> -
> err = v4l2_async_notifier_register(&pcdev->v4l2_dev, &pcdev->notifier);
> if (err)
> - goto exit_free_clk;
> + goto exit_notifier_cleanup;
>
> return 0;
> -exit_free_clk:
> - v4l2_clk_unregister(pcdev->mclk_clk);
> exit_notifier_cleanup:
> v4l2_async_notifier_cleanup(&pcdev->notifier);
> exit_free_v4l2dev:
> @@ -2463,11 +2440,6 @@ static int pxa_camera_remove(struct platform_device *pdev)
> v4l2_async_notifier_unregister(&pcdev->notifier);
> v4l2_async_notifier_cleanup(&pcdev->notifier);
>
> - if (pcdev->mclk_clk) {
> - v4l2_clk_unregister(pcdev->mclk_clk);
> - pcdev->mclk_clk = NULL;
> - }
> -
> v4l2_device_unregister(&pcdev->v4l2_dev);
>
> dev_info(&pdev->dev, "PXA Camera driver unloaded\n");
>
On Tue, Jan 12, 2021 at 04:49:15PM -0300, Ezequiel Garcia wrote:
> Now that mach-based PXA platforms are registering proper
> fixed-rate clocks through the CCF, the v4l2-clk clock
> is no longer required.
>
> Drop this clock, so the driver no longer depends on the
> legacy v4l2-clk API.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
There was a minor conflict with the recently merged patches. I resolved it
(second last chunk) here:
<URL:https://git.linuxtv.org/sailus/media_tree.git/commit/?id=2bd3c6097aaac76c0a7846456820de1ccf48194e>
On Tue, 2021-02-02 at 21:07 +0200, Sakari Ailus wrote:
> On Tue, Jan 12, 2021 at 04:49:15PM -0300, Ezequiel Garcia wrote:
> > Now that mach-based PXA platforms are registering proper
> > fixed-rate clocks through the CCF, the v4l2-clk clock
> > is no longer required.
> >
> > Drop this clock, so the driver no longer depends on the
> > legacy v4l2-clk API.
> >
> > Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
>
> There was a minor conflict with the recently merged patches. I resolved it
> (second last chunk) here:
>
> <URL:https://git.linuxtv.org/sailus/media_tree.git/commit/?id=2bd3c6097aaac76c0a7846456820de1ccf48194e>
>
Looks good.
Thanks,
Ezequiel
@@ -31,7 +31,6 @@
#include <linux/dma/pxa-dma.h>
#include <media/v4l2-async.h>
-#include <media/v4l2-clk.h>
#include <media/v4l2-common.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
@@ -677,7 +676,6 @@ struct pxa_camera_dev {
unsigned long ciclk;
unsigned long mclk;
u32 mclk_divisor;
- struct v4l2_clk *mclk_clk;
u16 width_flags; /* max 10 bits */
struct list_head capture;
@@ -2030,9 +2028,6 @@ static const struct v4l2_ioctl_ops pxa_camera_ioctl_ops = {
.vidioc_unsubscribe_event = v4l2_event_unsubscribe,
};
-static const struct v4l2_clk_ops pxa_camera_mclk_ops = {
-};
-
static const struct video_device pxa_camera_videodev_template = {
.name = "pxa-camera",
.minor = -1,
@@ -2140,11 +2135,6 @@ static void pxa_camera_sensor_unbind(struct v4l2_async_notifier *notifier,
pxa_camera_destroy_formats(pcdev);
- if (pcdev->mclk_clk) {
- v4l2_clk_unregister(pcdev->mclk_clk);
- pcdev->mclk_clk = NULL;
- }
-
video_unregister_device(&pcdev->vdev);
pcdev->sensor = NULL;
@@ -2278,7 +2268,6 @@ static int pxa_camera_probe(struct platform_device *pdev)
.src_maxburst = 8,
.direction = DMA_DEV_TO_MEM,
};
- char clk_name[V4L2_CLK_NAME_SIZE];
int irq;
int err = 0, i;
@@ -2417,23 +2406,11 @@ static int pxa_camera_probe(struct platform_device *pdev)
if (err)
goto exit_notifier_cleanup;
- v4l2_clk_name_i2c(clk_name, sizeof(clk_name),
- pcdev->asd.match.i2c.adapter_id,
- pcdev->asd.match.i2c.address);
-
- pcdev->mclk_clk = v4l2_clk_register(&pxa_camera_mclk_ops, clk_name, NULL);
- if (IS_ERR(pcdev->mclk_clk)) {
- err = PTR_ERR(pcdev->mclk_clk);
- goto exit_notifier_cleanup;
- }
-
err = v4l2_async_notifier_register(&pcdev->v4l2_dev, &pcdev->notifier);
if (err)
- goto exit_free_clk;
+ goto exit_notifier_cleanup;
return 0;
-exit_free_clk:
- v4l2_clk_unregister(pcdev->mclk_clk);
exit_notifier_cleanup:
v4l2_async_notifier_cleanup(&pcdev->notifier);
exit_free_v4l2dev:
@@ -2463,11 +2440,6 @@ static int pxa_camera_remove(struct platform_device *pdev)
v4l2_async_notifier_unregister(&pcdev->notifier);
v4l2_async_notifier_cleanup(&pcdev->notifier);
- if (pcdev->mclk_clk) {
- v4l2_clk_unregister(pcdev->mclk_clk);
- pcdev->mclk_clk = NULL;
- }
-
v4l2_device_unregister(&pcdev->v4l2_dev);
dev_info(&pdev->dev, "PXA Camera driver unloaded\n");