From 28576f81823d9fbb9edc525aba5cb130882b8b1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Yannick=20Fertr=C3=A9?= Date: Fri, 13 Jul 2018 14:11:09 +0200 Subject: [PATCH] dm: panel: get timings from panel MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Get timings from panel instead of read device tree. Signed-off-by: Yannick Fertré Reviewed-by: Simon Glass --- drivers/video/panel-uclass.c | 11 +++++++++++ include/panel.h | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/drivers/video/panel-uclass.c b/drivers/video/panel-uclass.c index 2841bb3f3a..aec44a8bf7 100644 --- a/drivers/video/panel-uclass.c +++ b/drivers/video/panel-uclass.c @@ -18,6 +18,17 @@ int panel_enable_backlight(struct udevice *dev) return ops->enable_backlight(dev); } +int panel_get_display_timing(struct udevice *dev, + struct display_timing *timings) +{ + struct panel_ops *ops = panel_get_ops(dev); + + if (!ops->get_display_timing) + return -ENOSYS; + + return ops->get_display_timing(dev, timings); +} + UCLASS_DRIVER(panel) = { .id = UCLASS_PANEL, .name = "panel", diff --git a/include/panel.h b/include/panel.h index 46dca48bf7..6237d32657 100644 --- a/include/panel.h +++ b/include/panel.h @@ -15,6 +15,15 @@ struct panel_ops { * @return 0 if OK, -ve on error */ int (*enable_backlight)(struct udevice *dev); + /** + * get_timings() - Get display timings from panel. + * + * @dev: Panel device containing the display timings + * @tim: Place to put timings + * @return 0 if OK, -ve on error + */ + int (*get_display_timing)(struct udevice *dev, + struct display_timing *timing); }; #define panel_get_ops(dev) ((struct panel_ops *)(dev)->driver->ops) @@ -27,4 +36,13 @@ struct panel_ops { */ int panel_enable_backlight(struct udevice *dev); +/** + * panel_get_display_timing() - Get display timings from panel. + * + * @dev: Panel device containing the display timings + * @return 0 if OK, -ve on error + */ +int panel_get_display_timing(struct udevice *dev, + struct display_timing *timing); + #endif -- 2.25.1