Convert CONFIG_SYS_INTERLAKEN et al to Kconfig
[platform/kernel/u-boot.git] / include / display.h
index d0a08d4..3d01217 100644 (file)
@@ -1,7 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright 2014 Google Inc.
- *
- * SPDX-License-Identifier:     GPL-2.0+
  */
 
 #ifndef _DISPLAY_H
@@ -28,7 +27,7 @@ struct display_plat {
  * display_read_timing() - Read timing information
  *
  * @dev:       Device to read from
- * @return 0 if OK, -ve on error
+ * Return: 0 if OK, -ve on error
  */
 int display_read_timing(struct udevice *dev, struct display_timing *timing);
 
@@ -38,7 +37,7 @@ int display_read_timing(struct udevice *dev, struct display_timing *timing);
  * @dev:       Device to enable
  * @panel_bpp: Number of bits per pixel for panel
  * @timing:    Display timings
- * @return 0 if OK, -ve on error
+ * Return: 0 if OK, -ve on error
  */
 int display_enable(struct udevice *dev, int panel_bpp,
                   const struct display_timing *timing);
@@ -46,7 +45,7 @@ int display_enable(struct udevice *dev, int panel_bpp,
 /**
  * display_in_use() - Check if a display is in use by any device
  *
- * @return true if the device is in use (display_enable() has been called
+ * Return: true if the device is in use (display_enable() has been called
  * successfully), else false
  */
 bool display_in_use(struct udevice *dev);
@@ -81,6 +80,16 @@ struct dm_display_ops {
         */
        int (*enable)(struct udevice *dev, int panel_bpp,
                      const struct display_timing *timing);
+
+       /**
+        * mode_valid() - Check if mode is supported
+        *
+        * @dev:        Device to enable
+        * @timing:     Display timings
+        * @return true if supported, false if not
+        */
+       bool (*mode_valid)(struct udevice *dev,
+                          const struct display_timing *timing);
 };
 
 #define display_get_ops(dev)   ((struct dm_display_ops *)(dev)->driver->ops)