]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Video driver ID.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 13 Jan 2010 13:03:18 +0000 (14:03 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 13 Jan 2010 13:03:18 +0000 (14:03 +0100)
include/grub/video.h
video/efi_gop.c
video/efi_uga.c
video/i386/pc/vbe.c
video/video.c

index 4145db46516172a84fbf25c3ac05153535a40a0f..985fa9208c71e687cfa1ab931adafa24c3372859 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);
@@ -309,5 +318,6 @@ grub_err_t grub_video_get_active_render_target (struct grub_video_render_target
 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,