Unverified Commit 932d860f authored by Maxime Ripard's avatar Maxime Ripard
Browse files

drm/vc4: hdmi: Switch to devm_pm_runtime_enable



devm_pm_runtime_enable() simplifies the driver a bit since it will call
pm_runtime_disable() automatically through a device-managed action.

Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20220711173939.1132294-49-maxime@cerno.tech
parent cd00ed51
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -3314,7 +3314,9 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
			vc4_hdmi->disable_4kp60 = true;
	}

	pm_runtime_enable(dev);
	ret = devm_pm_runtime_enable(dev);
	if (ret)
		return ret;

	/*
	 *  We need to have the device powered up at this point to call
@@ -3322,7 +3324,7 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
	 */
	ret = pm_runtime_resume_and_get(dev);
	if (ret)
		goto err_disable_runtime_pm;
		return ret;

	if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") ||
	     of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi1")) &&
@@ -3367,21 +3369,12 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)

err_put_runtime_pm:
	pm_runtime_put_sync(dev);
err_disable_runtime_pm:
	pm_runtime_disable(dev);

	return ret;
}

static void vc4_hdmi_unbind(struct device *dev, struct device *master,
			    void *data)
{
	pm_runtime_disable(dev);
}

static const struct component_ops vc4_hdmi_ops = {
	.bind   = vc4_hdmi_bind,
	.unbind = vc4_hdmi_unbind,
};

static int vc4_hdmi_dev_probe(struct platform_device *pdev)