Skip to content

Commit

Permalink
drm/aspeed: Look up syscon by phandle
Browse files Browse the repository at this point in the history
This scales better to multiple families of SoC. The lookup by compatible
can be removed in a future change.

The fallback path is for the ast2500 platform only. Other platforms will
be added with the new style, so they won't need fallback paths.

Signed-off-by: Joel Stanley <[email protected]>
Reviewed-by: Andrew Jeffery <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
shenki committed Feb 10, 2021
1 parent f1a75f4 commit 92614ad
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ static int aspeed_gfx_load(struct drm_device *drm)
{
struct platform_device *pdev = to_platform_device(drm->dev);
struct aspeed_gfx *priv = to_aspeed_gfx(drm);
struct device_node *np = pdev->dev.of_node;
struct resource *res;
int ret;

Expand All @@ -111,10 +112,13 @@ static int aspeed_gfx_load(struct drm_device *drm)
if (IS_ERR(priv->base))
return PTR_ERR(priv->base);

priv->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu");
priv->scu = syscon_regmap_lookup_by_phandle(np, "syscon");
if (IS_ERR(priv->scu)) {
dev_err(&pdev->dev, "failed to find SCU regmap\n");
return PTR_ERR(priv->scu);
priv->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu");
if (IS_ERR(priv->scu)) {
dev_err(&pdev->dev, "failed to find SCU regmap\n");
return PTR_ERR(priv->scu);
}
}

ret = of_reserved_mem_device_init(drm->dev);
Expand Down

0 comments on commit 92614ad

Please sign in to comment.