diff options
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.h | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 26 |
3 files changed, 11 insertions, 28 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 09d3c4c3c858..50294a7bd29d 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
@@ -82,14 +82,9 @@ err_file_priv_free: | |||
82 | return ret; | 82 | return ret; |
83 | } | 83 | } |
84 | 84 | ||
85 | static void exynos_drm_preclose(struct drm_device *dev, | ||
86 | struct drm_file *file) | ||
87 | { | ||
88 | exynos_drm_subdrv_close(dev, file); | ||
89 | } | ||
90 | |||
91 | static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file) | 85 | static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file) |
92 | { | 86 | { |
87 | exynos_drm_subdrv_close(dev, file); | ||
93 | kfree(file->driver_priv); | 88 | kfree(file->driver_priv); |
94 | file->driver_priv = NULL; | 89 | file->driver_priv = NULL; |
95 | } | 90 | } |
@@ -145,7 +140,6 @@ static struct drm_driver exynos_drm_driver = { | |||
145 | .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME | 140 | .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME |
146 | | DRIVER_ATOMIC | DRIVER_RENDER, | 141 | | DRIVER_ATOMIC | DRIVER_RENDER, |
147 | .open = exynos_drm_open, | 142 | .open = exynos_drm_open, |
148 | .preclose = exynos_drm_preclose, | ||
149 | .lastclose = exynos_drm_lastclose, | 143 | .lastclose = exynos_drm_lastclose, |
150 | .postclose = exynos_drm_postclose, | 144 | .postclose = exynos_drm_postclose, |
151 | .gem_free_object_unlocked = exynos_drm_gem_free_object, | 145 | .gem_free_object_unlocked = exynos_drm_gem_free_object, |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h index cb3176930596..39c740572034 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h | |||
@@ -160,12 +160,9 @@ struct exynos_drm_clk { | |||
160 | * drm framework doesn't support multiple irq yet. | 160 | * drm framework doesn't support multiple irq yet. |
161 | * we can refer to the crtc to current hardware interrupt occurred through | 161 | * we can refer to the crtc to current hardware interrupt occurred through |
162 | * this pipe value. | 162 | * 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 | ||
167 | * @ops: pointer to callbacks for exynos drm specific functionality | 163 | * @ops: pointer to callbacks for exynos drm specific functionality |
168 | * @ctx: A pointer to the crtc's implementation specific context | 164 | * @ctx: A pointer to the crtc's implementation specific context |
165 | * @pipe_clk: A pointer to the crtc's pipeline clock. | ||
169 | */ | 166 | */ |
170 | struct exynos_drm_crtc { | 167 | struct exynos_drm_crtc { |
171 | struct drm_crtc base; | 168 | struct drm_crtc base; |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index fc4fda738906..d404de86d5f9 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c | |||
@@ -1633,7 +1633,6 @@ static int exynos_dsi_parse_dt(struct exynos_dsi *dsi) | |||
1633 | { | 1633 | { |
1634 | struct device *dev = dsi->dev; | 1634 | struct device *dev = dsi->dev; |
1635 | struct device_node *node = dev->of_node; | 1635 | struct device_node *node = dev->of_node; |
1636 | struct device_node *ep; | ||
1637 | int ret; | 1636 | int ret; |
1638 | 1637 | ||
1639 | ret = exynos_dsi_of_read_u32(node, "samsung,pll-clock-frequency", | 1638 | ret = exynos_dsi_of_read_u32(node, "samsung,pll-clock-frequency", |
@@ -1641,32 +1640,21 @@ static int exynos_dsi_parse_dt(struct exynos_dsi *dsi) | |||
1641 | if (ret < 0) | 1640 | if (ret < 0) |
1642 | return ret; | 1641 | return ret; |
1643 | 1642 | ||
1644 | ep = of_graph_get_endpoint_by_regs(node, DSI_PORT_OUT, 0); | 1643 | ret = exynos_dsi_of_read_u32(node, "samsung,burst-clock-frequency", |
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", | ||
1651 | &dsi->burst_clk_rate); | 1644 | &dsi->burst_clk_rate); |
1652 | if (ret < 0) | 1645 | if (ret < 0) |
1653 | goto end; | 1646 | return ret; |
1654 | 1647 | ||
1655 | ret = exynos_dsi_of_read_u32(ep, "samsung,esc-clock-frequency", | 1648 | ret = exynos_dsi_of_read_u32(node, "samsung,esc-clock-frequency", |
1656 | &dsi->esc_clk_rate); | 1649 | &dsi->esc_clk_rate); |
1657 | if (ret < 0) | 1650 | if (ret < 0) |
1658 | goto end; | 1651 | return ret; |
1659 | |||
1660 | of_node_put(ep); | ||
1661 | 1652 | ||
1662 | dsi->bridge_node = of_graph_get_remote_node(node, DSI_PORT_OUT, 0); | 1653 | dsi->bridge_node = of_graph_get_remote_node(node, DSI_PORT_OUT, 0); |
1663 | if (!dsi->bridge_node) | 1654 | if (!dsi->bridge_node) |
1664 | return -EINVAL; | 1655 | return -EINVAL; |
1665 | 1656 | ||
1666 | end: | 1657 | return 0; |
1667 | of_node_put(ep); | ||
1668 | |||
1669 | return ret; | ||
1670 | } | 1658 | } |
1671 | 1659 | ||
1672 | static int exynos_dsi_bind(struct device *dev, struct device *master, | 1660 | static int exynos_dsi_bind(struct device *dev, struct device *master, |
@@ -1817,6 +1805,10 @@ static int exynos_dsi_probe(struct platform_device *pdev) | |||
1817 | 1805 | ||
1818 | static int exynos_dsi_remove(struct platform_device *pdev) | 1806 | static int exynos_dsi_remove(struct platform_device *pdev) |
1819 | { | 1807 | { |
1808 | struct exynos_dsi *dsi = platform_get_drvdata(pdev); | ||
1809 | |||
1810 | of_node_put(dsi->bridge_node); | ||
1811 | |||
1820 | pm_runtime_disable(&pdev->dev); | 1812 | pm_runtime_disable(&pdev->dev); |
1821 | 1813 | ||
1822 | component_del(&pdev->dev, &exynos_dsi_component_ops); | 1814 | component_del(&pdev->dev, &exynos_dsi_component_ops); |