lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v17, 18/19] media: mtk-vcodec: Remove mtk_vcodec_release_dec_pm
    Date
    There are only two lines in mtk_vcodec_release_dec_pm, using
    pm_runtime_disable and put_device instead directly.

    Move pm_runtime_enable outside mtk_vcodec_init_dec_pm to symmetry with
    pm_runtime_disable, after that, rename mtk_vcodec_init_dec_pm to *_clk since
    it only has clock operations now.

    Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
    Co-developed-by: Yong Wu <yong.wu@mediatek.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    ---
    .../media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 10 +++++++---
    .../media/platform/mtk-vcodec/mtk_vcodec_dec_hw.c | 7 +++++--
    .../media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 12 ++----------
    .../media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 3 +--
    4 files changed, 15 insertions(+), 17 deletions(-)

    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
    index 1c2b96b4930b..d44894fa2f6e 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
    @@ -11,6 +11,7 @@
    #include <linux/module.h>
    #include <linux/of_device.h>
    #include <linux/of.h>
    +#include <linux/pm_runtime.h>
    #include <media/v4l2-event.h>
    #include <media/v4l2-mem2mem.h>
    #include <media/videobuf2-dma-contig.h>
    @@ -128,12 +129,13 @@ static int mtk_vcodec_init_dec_resources(struct mtk_vcodec_dev *dev)
    return ret;
    }

    - ret = mtk_vcodec_init_dec_pm(pdev, &dev->pm);
    + ret = mtk_vcodec_init_dec_clk(pdev, &dev->pm);
    if (ret < 0) {
    dev_err(&pdev->dev, "failed to get mt vcodec clock source");
    return ret;
    }

    + pm_runtime_enable(&pdev->dev);
    return 0;
    }

    @@ -446,7 +448,8 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
    if (IS_VDEC_LAT_ARCH(dev->vdec_pdata->hw_arch))
    destroy_workqueue(dev->core_workqueue);
    err_res:
    - mtk_vcodec_release_dec_pm(&dev->pm);
    + pm_runtime_disable(dev->pm.dev);
    + put_device(dev->pm.larbvdec);
    err_dec_pm:
    mtk_vcodec_fw_release(dev->fw_handler);
    return ret;
    @@ -489,7 +492,8 @@ static int mtk_vcodec_dec_remove(struct platform_device *pdev)
    video_unregister_device(dev->vfd_dec);

    v4l2_device_unregister(&dev->v4l2_dev);
    - mtk_vcodec_release_dec_pm(&dev->pm);
    + pm_runtime_disable(dev->pm.dev);
    + put_device(dev->pm.larbvdec);
    mtk_vcodec_fw_release(dev->fw_handler);
    return 0;
    }
    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_hw.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_hw.c
    index 643cee119b60..8e1247d65a93 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_hw.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_hw.c
    @@ -9,6 +9,7 @@
    #include <linux/module.h>
    #include <linux/of.h>
    #include <linux/of_device.h>
    +#include <linux/pm_runtime.h>
    #include <linux/slab.h>

    #include "mtk_vcodec_drv.h"
    @@ -140,9 +141,10 @@ static int mtk_vdec_hw_probe(struct platform_device *pdev)
    return -ENOMEM;

    subdev_dev->plat_dev = pdev;
    - ret = mtk_vcodec_init_dec_pm(pdev, &subdev_dev->pm);
    + ret = mtk_vcodec_init_dec_clk(pdev, &subdev_dev->pm);
    if (ret)
    return ret;
    + pm_runtime_enable(&pdev->dev);

    of_id = of_match_device(mtk_vdec_hw_match, dev);
    if (!of_id) {
    @@ -181,7 +183,8 @@ static int mtk_vdec_hw_probe(struct platform_device *pdev)
    platform_set_drvdata(pdev, subdev_dev);
    return 0;
    err:
    - mtk_vcodec_release_dec_pm(&subdev_dev->pm);
    + pm_runtime_disable(subdev_dev->pm.dev);
    + put_device(subdev_dev->pm.larbvdec);
    return ret;
    }

    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c
    index 4cf03d38d141..b9f5ef979c69 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c
    @@ -15,7 +15,7 @@
    #include "mtk_vcodec_dec_pm.h"
    #include "mtk_vcodec_util.h"

    -int mtk_vcodec_init_dec_pm(struct platform_device *pdev,
    +int mtk_vcodec_init_dec_clk(struct platform_device *pdev,
    struct mtk_vcodec_pm *pm)
    {
    struct device_node *node;
    @@ -73,20 +73,12 @@ int mtk_vcodec_init_dec_pm(struct platform_device *pdev,
    }
    }

    - pm_runtime_enable(&pdev->dev);
    return 0;
    put_device:
    put_device(pm->larbvdec);
    return ret;
    }
    -EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_pm);
    -
    -void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm)
    -{
    - pm_runtime_disable(pm->dev);
    - put_device(pm->larbvdec);
    -}
    -EXPORT_SYMBOL_GPL(mtk_vcodec_release_dec_pm);
    +EXPORT_SYMBOL_GPL(mtk_vcodec_init_dec_clk);

    int mtk_vcodec_dec_pw_on(struct mtk_vcodec_dev *vdec_dev, int hw_idx)
    {
    diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h
    index 6ae29fea4e7f..c4121df9764f 100644
    --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h
    +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h
    @@ -9,9 +9,8 @@

    #include "mtk_vcodec_drv.h"

    -int mtk_vcodec_init_dec_pm(struct platform_device *pdev,
    +int mtk_vcodec_init_dec_clk(struct platform_device *pdev,
    struct mtk_vcodec_pm *pm);
    -void mtk_vcodec_release_dec_pm(struct mtk_vcodec_pm *pm);

    int mtk_vcodec_dec_pw_on(struct mtk_vcodec_dev *vdec_dev, int hw_idx);
    void mtk_vcodec_dec_pw_off(struct mtk_vcodec_dev *vdec_dev, int hw_idx);
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-12-17 02:56    [W:8.297 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site