Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 526a2392 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: isp: Use disable tasklet instead of kill"

parents cdbac5e2 c9644160
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -517,6 +517,8 @@ static int vfe_probe(struct platform_device *pdev)
	tasklet_init(&vfe_dev->vfe_tasklet,
		msm_isp_do_tasklet, (unsigned long)vfe_dev);

	/* init hardware will enable it back */
	tasklet_disable(&vfe_dev->vfe_tasklet);
	v4l2_subdev_init(&vfe_dev->subdev.sd, vfe_dev->hw_info->subdev_ops);
	vfe_dev->subdev.sd.internal_ops =
		vfe_dev->hw_info->subdev_internal_ops;
+5 −2
Original line number Diff line number Diff line
/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -285,6 +285,7 @@ static int msm_vfe32_init_hardware(struct vfe_device *vfe_dev)
		goto vbif_remap_failed;
	}

	tasklet_enable(&vfe_dev->vfe_tasklet);
	rc = request_irq(vfe_dev->vfe_irq->start, msm_isp_process_irq,
					 IRQF_TRIGGER_RISING, "vfe", vfe_dev);
	if (rc < 0) {
@@ -294,6 +295,7 @@ static int msm_vfe32_init_hardware(struct vfe_device *vfe_dev)

	return rc;
irq_req_failed:
	tasklet_disable(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
@@ -321,7 +323,8 @@ bus_scale_register_failed:
static void msm_vfe32_release_hardware(struct vfe_device *vfe_dev)
{
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_disable(&vfe_dev->vfe_tasklet);
	msm_isp_flush_tasklet(vfe_dev);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
+4 −1
Original line number Diff line number Diff line
@@ -312,6 +312,7 @@ static int msm_vfe40_init_hardware(struct vfe_device *vfe_dev)
		goto vbif_remap_failed;
	}

	tasklet_enable(&vfe_dev->vfe_tasklet);
	rc = request_irq(vfe_dev->vfe_irq->start, msm_isp_process_irq,
		IRQF_TRIGGER_RISING, "vfe", vfe_dev);
	if (rc < 0) {
@@ -320,6 +321,7 @@ static int msm_vfe40_init_hardware(struct vfe_device *vfe_dev)
	}
	return rc;
irq_req_failed:
	tasklet_disable(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
@@ -341,7 +343,8 @@ bus_scale_register_failed:
static void msm_vfe40_release_hardware(struct vfe_device *vfe_dev)
{
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_disable(&vfe_dev->vfe_tasklet);
	msm_isp_flush_tasklet(vfe_dev);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
+4 −1
Original line number Diff line number Diff line
@@ -184,6 +184,7 @@ static int msm_vfe44_init_hardware(struct vfe_device *vfe_dev)
		goto vbif_remap_failed;
	}

	tasklet_enable(&vfe_dev->vfe_tasklet);
	rc = request_irq(vfe_dev->vfe_irq->start, msm_isp_process_irq,
		IRQF_TRIGGER_RISING, "vfe", vfe_dev);
	if (rc < 0) {
@@ -192,6 +193,7 @@ static int msm_vfe44_init_hardware(struct vfe_device *vfe_dev)
	}
	return rc;
irq_req_failed:
	tasklet_disable(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
@@ -213,7 +215,8 @@ bus_scale_register_failed:
static void msm_vfe44_release_hardware(struct vfe_device *vfe_dev)
{
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_disable(&vfe_dev->vfe_tasklet);
	msm_isp_flush_tasklet(vfe_dev);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe44_clk_info,
+4 −1
Original line number Diff line number Diff line
@@ -206,6 +206,7 @@ static int msm_vfe46_init_hardware(struct vfe_device *vfe_dev)
		goto vbif_remap_failed;
	}

	tasklet_enable(&vfe_dev->vfe_tasklet);
	rc = request_irq(vfe_dev->vfe_irq->start, msm_isp_process_irq,
		IRQF_TRIGGER_RISING, "vfe", vfe_dev);
	if (rc < 0) {
@@ -214,6 +215,7 @@ static int msm_vfe46_init_hardware(struct vfe_device *vfe_dev)
	}
	return rc;
irq_req_failed:
	tasklet_disable(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
@@ -235,7 +237,8 @@ bus_scale_register_failed:
static void msm_vfe46_release_hardware(struct vfe_device *vfe_dev)
{
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_disable(&vfe_dev->vfe_tasklet);
	msm_isp_flush_tasklet(vfe_dev);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe46_clk_info,
Loading