SPDX: Convert all of our single license tags to Linux Kernel style
[platform/kernel/u-boot.git] / include / display.h
index c180e76..16f317c 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
@@ -16,14 +15,16 @@ struct display_timing;
  * @source_id: ID for the source of the display data, typically a video
  * controller
  * @src_dev:   Source device providing the video
+ * @in_use:    Display is being used
  */
 struct display_plat {
        int source_id;
        struct udevice *src_dev;
+       bool in_use;
 };
 
 /**
- * display_read_timing() - Read timing information from EDID
+ * display_read_timing() - Read timing information
  *
  * @dev:       Device to read from
  * @return 0 if OK, -ve on error
@@ -41,8 +42,25 @@ int display_read_timing(struct udevice *dev, struct display_timing *timing);
 int display_enable(struct udevice *dev, int panel_bpp,
                   const struct display_timing *timing);
 
+/**
+ * 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
+ * successfully), else false
+ */
+bool display_in_use(struct udevice *dev);
+
 struct dm_display_ops {
        /**
+        * read_timing() - Read information directly
+        *
+        * @dev:        Device to read from
+        * @timing:     Display timings
+        * @return 0 if OK, -ve on error
+        */
+       int (*read_timing)(struct udevice *dev, struct display_timing *timing);
+
+       /**
         * read_edid() - Read information from EDID
         *
         * @dev:        Device to read from