Skip to content

Commit

Permalink
Merge tag 'drm/tegra/for-5.7-rc1' of git://anongit.freedesktop.org/te…
Browse files Browse the repository at this point in the history
…gra/linux into drm-next

drm/tegra: Changes for v5.7-rc1

This contains some minor cleanups, nothing too exciting.

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Thierry Reding <thierry.reding@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200313171042.2924890-1-thierry.reding@gmail.com
  • Loading branch information
Dave Airlie committed Mar 19, 2020
2 parents 69ddce0 + e32c8c2 commit bda1fb0
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 14 deletions.
20 changes: 15 additions & 5 deletions drivers/gpu/drm/tegra/dc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2503,7 +2503,6 @@ static int tegra_dc_couple(struct tegra_dc *dc)

static int tegra_dc_probe(struct platform_device *pdev)
{
struct resource *regs;
struct tegra_dc *dc;
int err;

Expand Down Expand Up @@ -2560,8 +2559,7 @@ static int tegra_dc_probe(struct platform_device *pdev)
tegra_powergate_power_off(dc->powergate);
}

regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
dc->regs = devm_ioremap_resource(&pdev->dev, regs);
dc->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(dc->regs))
return PTR_ERR(dc->regs);

Expand All @@ -2573,7 +2571,13 @@ static int tegra_dc_probe(struct platform_device *pdev)

err = tegra_dc_rgb_probe(dc);
if (err < 0 && err != -ENODEV) {
dev_err(&pdev->dev, "failed to probe RGB output: %d\n", err);
const char *level = KERN_ERR;

if (err == -EPROBE_DEFER)
level = KERN_DEBUG;

dev_printk(level, dc->dev, "failed to probe RGB output: %d\n",
err);
return err;
}

Expand All @@ -2588,10 +2592,16 @@ static int tegra_dc_probe(struct platform_device *pdev)
if (err < 0) {
dev_err(&pdev->dev, "failed to register host1x client: %d\n",
err);
return err;
goto disable_pm;
}

return 0;

disable_pm:
pm_runtime_disable(&pdev->dev);
tegra_dc_rgb_remove(dc);

return err;
}

static int tegra_dc_remove(struct platform_device *pdev)
Expand Down
34 changes: 25 additions & 9 deletions drivers/gpu/drm/tegra/hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1648,6 +1648,7 @@ static irqreturn_t tegra_hdmi_irq(int irq, void *data)

static int tegra_hdmi_probe(struct platform_device *pdev)
{
const char *level = KERN_ERR;
struct tegra_hdmi *hdmi;
struct resource *regs;
int err;
Expand Down Expand Up @@ -1686,21 +1687,36 @@ static int tegra_hdmi_probe(struct platform_device *pdev)
}

hdmi->hdmi = devm_regulator_get(&pdev->dev, "hdmi");
if (IS_ERR(hdmi->hdmi)) {
dev_err(&pdev->dev, "failed to get HDMI regulator\n");
return PTR_ERR(hdmi->hdmi);
err = PTR_ERR_OR_ZERO(hdmi->hdmi);
if (err) {
if (err == -EPROBE_DEFER)
level = KERN_DEBUG;

dev_printk(level, &pdev->dev,
"failed to get HDMI regulator: %d\n", err);
return err;
}

hdmi->pll = devm_regulator_get(&pdev->dev, "pll");
if (IS_ERR(hdmi->pll)) {
dev_err(&pdev->dev, "failed to get PLL regulator\n");
return PTR_ERR(hdmi->pll);
err = PTR_ERR_OR_ZERO(hdmi->pll);
if (err) {
if (err == -EPROBE_DEFER)
level = KERN_DEBUG;

dev_printk(level, &pdev->dev,
"failed to get PLL regulator: %d\n", err);
return err;
}

hdmi->vdd = devm_regulator_get(&pdev->dev, "vdd");
if (IS_ERR(hdmi->vdd)) {
dev_err(&pdev->dev, "failed to get VDD regulator\n");
return PTR_ERR(hdmi->vdd);
err = PTR_ERR_OR_ZERO(hdmi->vdd);
if (err) {
if (err == -EPROBE_DEFER)
level = KERN_DEBUG;

dev_printk(level, &pdev->dev,
"failed to get VDD regulator: %d\n", err);
return err;
}

hdmi->output.dev = &pdev->dev;
Expand Down

0 comments on commit bda1fb0

Please sign in to comment.