]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 15 Jan 2010 15:11:18 +0000 (16:11 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 15 Jan 2010 15:11:18 +0000 (16:11 +0100)
Video driver ids.

* include/grub/video.h (grub_video_driver_id): New type.
(grub_video_adapter): New member 'id'. All users updated.
(grub_video_get_driver_id): New proto.
* video/video.c (grub_video_get_driver_id): New function.

ChangeLog
include/grub/video.h
video/efi_gop.c
video/efi_uga.c
video/i386/pc/vbe.c
video/video.c

index e2d8a81f5a1fb31c8ac10ea7c01fa371aed61c98..dc123888ba99b78c8df3bab51179b23cb6976b0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-01-15  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Video driver ids.
+
+       * include/grub/video.h (grub_video_driver_id): New type.
+       (grub_video_adapter): New member 'id'. All users updated.
+       (grub_video_get_driver_id): New proto.
+       * video/video.c (grub_video_get_driver_id): New function.
+
 2010-01-14  Carles Pina i Estany  <carles@pina.cat>
 
        * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
index 4145db46516172a84fbf25c3ac05153535a40a0f..437c98eb9bfde36eafde0d6c227583c950197948 100644 (file)
@@ -159,10 +159,19 @@ struct grub_video_palette_data
   grub_uint8_t a; /* Reserved bits value (0-255).  */
 };
 
+typedef enum grub_video_driver_id
+  {
+    GRUB_VIDEO_DRIVER_NONE,
+    GRUB_VIDEO_DRIVER_VBE,
+    GRUB_VIDEO_DRIVER_EFI_UGA,
+    GRUB_VIDEO_DRIVER_EFI_GOP
+  } grub_video_driver_id_t;
+
 struct grub_video_adapter
 {
   /* The video adapter name.  */
   const char *name;
+  grub_video_driver_id_t id;
 
   /* Initialize the video adapter.  */
   grub_err_t (*init) (void);
@@ -310,4 +319,7 @@ grub_err_t grub_video_set_mode (const char *modestring,
                                int NESTED_FUNC_ATTR (*hook) (grub_video_adapter_t p,
                                                              struct grub_video_mode_info *mode_info));
 
+grub_video_driver_id_t
+grub_video_get_driver_id (void);
+
 #endif /* ! GRUB_VIDEO_HEADER */
index 30863c1edc0f4c580a55a25be5b7509d11eb054a..13ef0ddae8c9d4a52521ab579eada000d690a7fb 100644 (file)
@@ -353,6 +353,7 @@ grub_video_gop_get_info_and_fini (struct grub_video_mode_info *mode_info,
 static struct grub_video_adapter grub_video_gop_adapter =
   {
     .name = "EFI GOP driver",
+    .id = GRUB_VIDEO_DRIVER_EFI_GOP,
 
     .init = grub_video_gop_init,
     .fini = grub_video_gop_fini,
index 12ca35cdebb89148aa221acabe09652addbe1548..7ef7594ccf3910a335e19363dfdfa5da6063d988 100644 (file)
@@ -300,6 +300,7 @@ grub_video_uga_get_info_and_fini (struct grub_video_mode_info *mode_info,
 static struct grub_video_adapter grub_video_uga_adapter =
   {
     .name = "EFI UGA driver",
+    .id = GRUB_VIDEO_DRIVER_EFI_UGA,
 
     .init = grub_video_uga_init,
     .fini = grub_video_uga_fini,
index 17d9b328206e206efc4404a0ebcbe816c396cef9..918bab0b0cede06e3f7d14b5e9fa31e4e11bd737 100644 (file)
@@ -557,6 +557,7 @@ grub_video_vbe_get_info_and_fini (struct grub_video_mode_info *mode_info,
 static struct grub_video_adapter grub_video_vbe_adapter =
   {
     .name = "VESA BIOS Extension Video Driver",
+    .id = GRUB_VIDEO_DRIVER_VBE,
 
     .init = grub_video_vbe_init,
     .fini = grub_video_vbe_fini,
index 682bebcbfb6d255617d7d0b5c51b284eed26b6ad..e678c29829f9471fb2a3a8733af3b3c798391e3e 100644 (file)
@@ -93,6 +93,14 @@ grub_video_get_info (struct grub_video_mode_info *mode_info)
   return grub_video_adapter_active->get_info (mode_info);
 }
 
+grub_video_driver_id_t
+grub_video_get_driver_id (void)
+{
+  if (! grub_video_adapter_active)
+    return GRUB_VIDEO_DRIVER_NONE;
+  return grub_video_adapter_active->id;
+}
+
 /* Get information about active video mode.  */
 grub_err_t
 grub_video_get_info_and_fini (struct grub_video_mode_info *mode_info,