Skip to content

Commit

Permalink
drm/msm/dp: Use devres for ioremap()
Browse files Browse the repository at this point in the history
The non-devres version of ioremap is used, which requires manual
cleanup. But the code paths leading here is mixed with other devres
users, so rely on this for ioremap as well to simplify the code.

Reviewed-by: Abhinav Kumar <[email protected]>
Reviewed-by: Stephen Boyd <[email protected]>
Signed-off-by: Bjorn Andersson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
  • Loading branch information
andersson authored and robclark committed Oct 15, 2021
1 parent 687825c commit 17b019e
Showing 1 changed file with 4 additions and 25 deletions.
29 changes: 4 additions & 25 deletions drivers/gpu/drm/msm/dp/dp_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ static int msm_dss_ioremap(struct platform_device *pdev,
}

io_data->len = (u32)resource_size(res);
io_data->base = ioremap(res->start, io_data->len);
io_data->base = devm_ioremap(&pdev->dev, res->start, io_data->len);
if (!io_data->base) {
DRM_ERROR("%pS->%s: ioremap failed\n",
__builtin_return_address(0), __func__);
Expand All @@ -42,22 +42,6 @@ static int msm_dss_ioremap(struct platform_device *pdev,
return 0;
}

static void msm_dss_iounmap(struct dss_io_data *io_data)
{
if (io_data->base) {
iounmap(io_data->base);
io_data->base = NULL;
}
io_data->len = 0;
}

static void dp_parser_unmap_io_resources(struct dp_parser *parser)
{
struct dp_io *io = &parser->io;

msm_dss_iounmap(&io->dp_controller);
}

static int dp_parser_ctrl_res(struct dp_parser *parser)
{
int rc = 0;
Expand All @@ -67,19 +51,14 @@ static int dp_parser_ctrl_res(struct dp_parser *parser)
rc = msm_dss_ioremap(pdev, &io->dp_controller);
if (rc) {
DRM_ERROR("unable to remap dp io resources, rc=%d\n", rc);
goto err;
return rc;
}

io->phy = devm_phy_get(&pdev->dev, "dp");
if (IS_ERR(io->phy)) {
rc = PTR_ERR(io->phy);
goto err;
}
if (IS_ERR(io->phy))
return PTR_ERR(io->phy);

return 0;
err:
dp_parser_unmap_io_resources(parser);
return rc;
}

static int dp_parser_misc(struct dp_parser *parser)
Expand Down

0 comments on commit 17b019e

Please sign in to comment.