On 2/10/2024 2:39 AM, Konrad Dybcio wrote: > There is no reason to keep reset_get code local to HFIv4/v6. > > Move it to the common part. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > drivers/media/platform/qcom/venus/core.c | 9 ++++++++- > drivers/media/platform/qcom/venus/pm_helpers.c | 23 ----------------------- > 2 files changed, 8 insertions(+), 24 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c > index 5ab3c414ec0f..0652065cb113 100644 > --- a/drivers/media/platform/qcom/venus/core.c > +++ b/drivers/media/platform/qcom/venus/core.c > @@ -15,6 +15,7 @@ > #include <linux/of_platform.h> > #include <linux/platform_device.h> > #include <linux/pm_opp.h> > +#include <linux/reset.h> > #include <linux/slab.h> > #include <linux/types.h> > #include <linux/pm_domain.h> > @@ -286,7 +287,7 @@ static int venus_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > struct venus_core *core; > - int ret; > + int i, ret; > > core = devm_kzalloc(dev, sizeof(*core), GFP_KERNEL); > if (!core) > @@ -324,6 +325,12 @@ static int venus_probe(struct platform_device *pdev) > if (ret) > return ret; > > + for (i = 0; i < core->res->resets_num; i++) { > + core->resets[i] = devm_reset_control_get_exclusive(dev, core->res->resets[i]); > + if (IS_ERR(core->resets[i])) > + return PTR_ERR(core->resets[i]); > + } > + > if (core->pm_ops->core_get) { > ret = core->pm_ops->core_get(core); > if (ret) > diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c > index 7193075e8c04..6017a9236bff 100644 > --- a/drivers/media/platform/qcom/venus/pm_helpers.c > +++ b/drivers/media/platform/qcom/venus/pm_helpers.c > @@ -939,25 +939,6 @@ static int core_resets_reset(struct venus_core *core) > return ret; > } > > -static int core_resets_get(struct venus_core *core) > -{ > - struct device *dev = core->dev; > - const struct venus_resources *res = core->res; > - unsigned int i; > - int ret; > - > - for (i = 0; i < res->resets_num; i++) { > - core->resets[i] = > - devm_reset_control_get_exclusive(dev, res->resets[i]); > - if (IS_ERR(core->resets[i])) { > - ret = PTR_ERR(core->resets[i]); > - return ret; > - } > - } > - > - return 0; > -} > - resets are applicable to only v6 so it should be ok to keep this only in core_get_v4 which is invoked for v6 as well. common code should be common for all SOCs. > static int core_get_v4(struct venus_core *core) > { > struct device *dev = core->dev; > @@ -981,10 +962,6 @@ static int core_get_v4(struct venus_core *core) > if (ret) > return ret; > > - ret = core_resets_get(core); > - if (ret) > - return ret; > - > if (legacy_binding) > return 0; > >