aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_panel.c2
-rw-r--r--drivers/video/of_videomode.c2
-rw-r--r--drivers/video/videomode.c25
-rw-r--r--include/video/videomode.h15
4 files changed, 31 insertions, 13 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
index 580b74e2022b..90ee49786372 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
@@ -173,7 +173,7 @@ static int panel_connector_get_modes(struct drm_connector *connector)
173 struct drm_display_mode *mode = drm_mode_create(dev); 173 struct drm_display_mode *mode = drm_mode_create(dev);
174 struct videomode vm; 174 struct videomode vm;
175 175
176 if (videomode_from_timing(timings, &vm, i)) 176 if (videomode_from_timings(timings, &vm, i))
177 break; 177 break;
178 178
179 drm_display_mode_from_videomode(&vm, mode); 179 drm_display_mode_from_videomode(&vm, mode);
diff --git a/drivers/video/of_videomode.c b/drivers/video/of_videomode.c
index 5b8066cd397f..111c2d1911d3 100644
--- a/drivers/video/of_videomode.c
+++ b/drivers/video/of_videomode.c
@@ -43,7 +43,7 @@ int of_get_videomode(struct device_node *np, struct videomode *vm,
43 if (index == OF_USE_NATIVE_MODE) 43 if (index == OF_USE_NATIVE_MODE)
44 index = disp->native_mode; 44 index = disp->native_mode;
45 45
46 ret = videomode_from_timing(disp, vm, index); 46 ret = videomode_from_timings(disp, vm, index);
47 if (ret) 47 if (ret)
48 return ret; 48 return ret;
49 49
diff --git a/drivers/video/videomode.c b/drivers/video/videomode.c
index a3d95f263cd5..df375c96c5d3 100644
--- a/drivers/video/videomode.c
+++ b/drivers/video/videomode.c
@@ -11,15 +11,9 @@
11#include <video/display_timing.h> 11#include <video/display_timing.h>
12#include <video/videomode.h> 12#include <video/videomode.h>
13 13
14int videomode_from_timing(const struct display_timings *disp, 14void videomode_from_timing(const struct display_timing *dt,
15 struct videomode *vm, unsigned int index) 15 struct videomode *vm)
16{ 16{
17 struct display_timing *dt;
18
19 dt = display_timings_get(disp, index);
20 if (!dt)
21 return -EINVAL;
22
23 vm->pixelclock = dt->pixelclock.typ; 17 vm->pixelclock = dt->pixelclock.typ;
24 vm->hactive = dt->hactive.typ; 18 vm->hactive = dt->hactive.typ;
25 vm->hfront_porch = dt->hfront_porch.typ; 19 vm->hfront_porch = dt->hfront_porch.typ;
@@ -32,7 +26,20 @@ int videomode_from_timing(const struct display_timings *disp,
32 vm->vsync_len = dt->vsync_len.typ; 26 vm->vsync_len = dt->vsync_len.typ;
33 27
34 vm->flags = dt->flags; 28 vm->flags = dt->flags;
29}
30EXPORT_SYMBOL_GPL(videomode_from_timing);
31
32int videomode_from_timings(const struct display_timings *disp,
33 struct videomode *vm, unsigned int index)
34{
35 struct display_timing *dt;
36
37 dt = display_timings_get(disp, index);
38 if (!dt)
39 return -EINVAL;
40
41 videomode_from_timing(dt, vm);
35 42
36 return 0; 43 return 0;
37} 44}
38EXPORT_SYMBOL_GPL(videomode_from_timing); 45EXPORT_SYMBOL_GPL(videomode_from_timings);
diff --git a/include/video/videomode.h b/include/video/videomode.h
index 8b12e60b6173..3f1049d870d5 100644
--- a/include/video/videomode.h
+++ b/include/video/videomode.h
@@ -34,14 +34,25 @@ struct videomode {
34 34
35/** 35/**
36 * videomode_from_timing - convert display timing to videomode 36 * videomode_from_timing - convert display timing to videomode
37 * @dt: display_timing structure
38 * @vm: return value
39 *
40 * DESCRIPTION:
41 * This function converts a struct display_timing to a struct videomode.
42 */
43void videomode_from_timing(const struct display_timing *dt,
44 struct videomode *vm);
45
46/**
47 * videomode_from_timings - convert one display timings entry to videomode
37 * @disp: structure with all possible timing entries 48 * @disp: structure with all possible timing entries
38 * @vm: return value 49 * @vm: return value
39 * @index: index into the list of display timings in devicetree 50 * @index: index into the list of display timings in devicetree
40 * 51 *
41 * DESCRIPTION: 52 * DESCRIPTION:
42 * This function converts a struct display_timing to a struct videomode. 53 * This function converts one struct display_timing entry to a struct videomode.
43 */ 54 */
44int videomode_from_timing(const struct display_timings *disp, 55int videomode_from_timings(const struct display_timings *disp,
45 struct videomode *vm, unsigned int index); 56 struct videomode *vm, unsigned int index);
46 57
47#endif 58#endif