From: Simon Glass <sjg@chromium.org>
Add these definitions to the API so that we can make use of this feature
in drivers, etc.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
include/efi.h | 1 +
include/efi_api.h | 30 ++++++++++++++++++++++++++++++
lib/efi/device_path.c | 1 +
3 files changed, 32 insertions(+)
@@ -179,6 +179,7 @@ extern const efi_guid_t efi_guid_device_path;
extern const efi_guid_t efi_simple_file_system_protocol_guid;
extern const efi_guid_t efi_guid_simple_pointer;
+extern const efi_guid_t efi_guid_absolute_pointer;
/* Generic EFI table header */
struct efi_table_hdr {
@@ -1006,6 +1006,36 @@ struct efi_simple_pointer_protocol {
struct efi_simple_pointer_mode *mode;
};
+#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID \
+ EFI_GUID(0x8d59d32b, 0xc655, 0x4ae9, \
+ 0x9b, 0x15, 0xf2, 0x59, 0x04, 0x99, 0x2a, 0x43)
+
+struct efi_absolute_pointer_state {
+ u64 current_x;
+ u64 current_y;
+ u64 current_z;
+ u32 active_buttons;
+};
+
+struct efi_absolute_pointer_mode {
+ u64 abs_min_x;
+ u64 abs_min_y;
+ u64 abs_min_z;
+ u64 abs_max_x;
+ u64 abs_max_y;
+ u64 abs_max_z;
+ u32 attributes;
+};
+
+struct efi_absolute_pointer_protocol {
+ efi_status_t (EFIAPI *reset)(struct efi_absolute_pointer_protocol *this,
+ bool extended_verification);
+ efi_status_t (EFIAPI *get_state)(struct efi_absolute_pointer_protocol *this,
+ struct efi_absolute_pointer_state *state);
+ struct efi_event *wait_for_input;
+ struct efi_absolute_pointer_mode *mode;
+};
+
#define EFI_DEVICE_PATH_TO_TEXT_PROTOCOL_GUID \
EFI_GUID(0x8b843e20, 0x8132, 0x4852, \
0x90, 0xcc, 0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c)
@@ -28,6 +28,7 @@ const efi_guid_t efi_global_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
const efi_guid_t efi_guid_device_path = EFI_DEVICE_PATH_PROTOCOL_GUID;
const efi_guid_t efi_guid_loaded_image = EFI_LOADED_IMAGE_PROTOCOL_GUID;
const efi_guid_t efi_guid_simple_pointer = EFI_SIMPLE_POINTER_PROTOCOL_GUID;
+const efi_guid_t efi_guid_absolute_pointer = EFI_ABSOLUTE_POINTER_PROTOCOL_GUID;
const efi_guid_t efi_guid_loaded_image_device_path =
EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID;
const efi_guid_t efi_simple_file_system_protocol_guid =