Skip to content

Commit 9b43c16

Browse files
committed
Merge tag 'exynos-drm-fixes-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into exynos-drm-next
- Fix a regression to description of exynos_drm_crtc - Remove preclose hook of Exynos . This was a exynos change of the patch series[1] merged already. - Fix one dt broken issue - Make sure to release bridge_node of Exynos MIPI-DSI driver. [1] https://lists.freedesktop.org/archives/dri-devel/2017-March/135111.html
2 parents 2a17203 + e379cbe commit 9b43c16

File tree

2 files changed

+10
-21
lines changed

2 files changed

+10
-21
lines changed

drivers/gpu/drm/exynos/exynos_drm_drv.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,9 @@ struct exynos_drm_clk {
160160
* drm framework doesn't support multiple irq yet.
161161
* we can refer to the crtc to current hardware interrupt occurred through
162162
* this pipe value.
163-
* @enabled: if the crtc is enabled or not
164-
* @event: vblank event that is currently queued for flip
165-
* @wait_update: wait all pending planes updates to finish
166-
* @pending_update: number of pending plane updates in this crtc
167163
* @ops: pointer to callbacks for exynos drm specific functionality
168164
* @ctx: A pointer to the crtc's implementation specific context
165+
* @pipe_clk: A pointer to the crtc's pipeline clock.
169166
*/
170167
struct exynos_drm_crtc {
171168
struct drm_crtc base;

drivers/gpu/drm/exynos/exynos_drm_dsi.c

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1633,40 +1633,28 @@ static int exynos_dsi_parse_dt(struct exynos_dsi *dsi)
16331633
{
16341634
struct device *dev = dsi->dev;
16351635
struct device_node *node = dev->of_node;
1636-
struct device_node *ep;
16371636
int ret;
16381637

16391638
ret = exynos_dsi_of_read_u32(node, "samsung,pll-clock-frequency",
16401639
&dsi->pll_clk_rate);
16411640
if (ret < 0)
16421641
return ret;
16431642

1644-
ep = of_graph_get_endpoint_by_regs(node, DSI_PORT_OUT, 0);
1645-
if (!ep) {
1646-
dev_err(dev, "no output port with endpoint specified\n");
1647-
return -EINVAL;
1648-
}
1649-
1650-
ret = exynos_dsi_of_read_u32(ep, "samsung,burst-clock-frequency",
1643+
ret = exynos_dsi_of_read_u32(node, "samsung,burst-clock-frequency",
16511644
&dsi->burst_clk_rate);
16521645
if (ret < 0)
1653-
goto end;
1646+
return ret;
16541647

1655-
ret = exynos_dsi_of_read_u32(ep, "samsung,esc-clock-frequency",
1648+
ret = exynos_dsi_of_read_u32(node, "samsung,esc-clock-frequency",
16561649
&dsi->esc_clk_rate);
16571650
if (ret < 0)
1658-
goto end;
1659-
1660-
of_node_put(ep);
1651+
return ret;
16611652

16621653
dsi->bridge_node = of_graph_get_remote_node(node, DSI_PORT_OUT, 0);
16631654
if (!dsi->bridge_node)
16641655
return -EINVAL;
16651656

1666-
end:
1667-
of_node_put(ep);
1668-
1669-
return ret;
1657+
return 0;
16701658
}
16711659

16721660
static int exynos_dsi_bind(struct device *dev, struct device *master,
@@ -1817,6 +1805,10 @@ static int exynos_dsi_probe(struct platform_device *pdev)
18171805

18181806
static int exynos_dsi_remove(struct platform_device *pdev)
18191807
{
1808+
struct exynos_dsi *dsi = platform_get_drvdata(pdev);
1809+
1810+
of_node_put(dsi->bridge_node);
1811+
18201812
pm_runtime_disable(&pdev->dev);
18211813

18221814
component_del(&pdev->dev, &exynos_dsi_component_ops);

0 commit comments

Comments
 (0)