Re: [PATCH 1/2] efi_loader: support for Ctrl() device path node

2023-03-20 Thread Ilias Apalodimas
On Sun, Mar 19, 2023 at 04:18:08PM +0100, Heinrich Schuchardt wrote:
> * Add the definitions for Ctrl() device path nodes.
> * Implement Ctrl() nodes in the device path to text protocol.
>
> Signed-off-by: Heinrich Schuchardt 
> ---
>  include/efi_api.h| 6 ++
>  lib/efi_loader/efi_device_path_to_text.c | 7 +++
>  2 files changed, 13 insertions(+)
>
> diff --git a/include/efi_api.h b/include/efi_api.h
> index 2d18d25a71..c57868abbd 100644
> --- a/include/efi_api.h
> +++ b/include/efi_api.h
> @@ -570,6 +570,7 @@ struct efi_mac_addr {
>  #define DEVICE_PATH_TYPE_HARDWARE_DEVICE 0x01
>  #  define DEVICE_PATH_SUB_TYPE_MEMORY0x03
>  #  define DEVICE_PATH_SUB_TYPE_VENDOR0x04
> +#  define DEVICE_PATH_SUB_TYPE_CONTROLLER0x05
>
>  struct efi_device_path_memory {
>   struct efi_device_path dp;
> @@ -584,6 +585,11 @@ struct efi_device_path_vendor {
>   u8 vendor_data[];
>  } __packed;
>
> +struct efi_device_path_controller {
> + struct efi_device_path dp;
> + u32 controller_number;
> +} __packed;
> +
>  #define DEVICE_PATH_TYPE_ACPI_DEVICE 0x02
>  #  define DEVICE_PATH_SUB_TYPE_ACPI_DEVICE   0x01
>
> diff --git a/lib/efi_loader/efi_device_path_to_text.c 
> b/lib/efi_loader/efi_device_path_to_text.c
> index 9062058ac2..9c0b39311a 100644
> --- a/lib/efi_loader/efi_device_path_to_text.c
> +++ b/lib/efi_loader/efi_device_path_to_text.c
> @@ -77,6 +77,13 @@ static char *dp_hardware(char *s, struct efi_device_path 
> *dp)
>   s += sprintf(s, ")");
>   break;
>   }
> + case DEVICE_PATH_SUB_TYPE_CONTROLLER: {
> + struct efi_device_path_controller *cdp =
> + (struct efi_device_path_controller *)dp;
> +
> + s += sprintf(s, "Ctrl(0x%0x)", cdp->controller_number);
> + break;
> + }
>   default:
>   s = dp_unknown(s, dp);
>   break;
> --
> 2.39.2
>

Reviewed-by: Ilias Apalodimas 



Re: [PATCH 1/2] efi_loader: support for Ctrl() device path node

2023-03-19 Thread Simon Glass
On Mon, 20 Mar 2023 at 04:18, Heinrich Schuchardt
 wrote:
>
> * Add the definitions for Ctrl() device path nodes.
> * Implement Ctrl() nodes in the device path to text protocol.
>
> Signed-off-by: Heinrich Schuchardt 
> ---
>  include/efi_api.h| 6 ++
>  lib/efi_loader/efi_device_path_to_text.c | 7 +++
>  2 files changed, 13 insertions(+)
>

Reviewed-by: Simon Glass 


[PATCH 1/2] efi_loader: support for Ctrl() device path node

2023-03-19 Thread Heinrich Schuchardt
* Add the definitions for Ctrl() device path nodes.
* Implement Ctrl() nodes in the device path to text protocol.

Signed-off-by: Heinrich Schuchardt 
---
 include/efi_api.h| 6 ++
 lib/efi_loader/efi_device_path_to_text.c | 7 +++
 2 files changed, 13 insertions(+)

diff --git a/include/efi_api.h b/include/efi_api.h
index 2d18d25a71..c57868abbd 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -570,6 +570,7 @@ struct efi_mac_addr {
 #define DEVICE_PATH_TYPE_HARDWARE_DEVICE   0x01
 #  define DEVICE_PATH_SUB_TYPE_MEMORY  0x03
 #  define DEVICE_PATH_SUB_TYPE_VENDOR  0x04
+#  define DEVICE_PATH_SUB_TYPE_CONTROLLER  0x05
 
 struct efi_device_path_memory {
struct efi_device_path dp;
@@ -584,6 +585,11 @@ struct efi_device_path_vendor {
u8 vendor_data[];
 } __packed;
 
+struct efi_device_path_controller {
+   struct efi_device_path dp;
+   u32 controller_number;
+} __packed;
+
 #define DEVICE_PATH_TYPE_ACPI_DEVICE   0x02
 #  define DEVICE_PATH_SUB_TYPE_ACPI_DEVICE 0x01
 
diff --git a/lib/efi_loader/efi_device_path_to_text.c 
b/lib/efi_loader/efi_device_path_to_text.c
index 9062058ac2..9c0b39311a 100644
--- a/lib/efi_loader/efi_device_path_to_text.c
+++ b/lib/efi_loader/efi_device_path_to_text.c
@@ -77,6 +77,13 @@ static char *dp_hardware(char *s, struct efi_device_path *dp)
s += sprintf(s, ")");
break;
}
+   case DEVICE_PATH_SUB_TYPE_CONTROLLER: {
+   struct efi_device_path_controller *cdp =
+   (struct efi_device_path_controller *)dp;
+
+   s += sprintf(s, "Ctrl(0x%0x)", cdp->controller_number);
+   break;
+   }
default:
s = dp_unknown(s, dp);
break;
-- 
2.39.2