On Fri, Oct 11, 2019 at 04:07:10PM -0700, Dmitry Torokhov wrote:
> Let's switch to using PROPERTY_ENTRY_U8_ARRAY_LEN() to initialize
> property entries. Also, when dumping data, rely on local variables
> instead of poking into the property entry structure directly.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
> ---
>  drivers/firmware/efi/apple-properties.c | 18 ++++++++----------
>  1 file changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/firmware/efi/apple-properties.c 
> b/drivers/firmware/efi/apple-properties.c
> index 0e206c9e0d7a..5ccf39986a14 100644
> --- a/drivers/firmware/efi/apple-properties.c
> +++ b/drivers/firmware/efi/apple-properties.c
> @@ -53,7 +53,8 @@ static void __init unmarshal_key_value_pairs(struct 
> dev_header *dev_header,
>  
>       for (i = 0; i < dev_header->prop_count; i++) {
>               int remaining = dev_header->len - (ptr - (void *)dev_header);
> -             u32 key_len, val_len;
> +             u32 key_len, val_len, entry_len;
> +             const u8 *entry_data;
>               char *key;
>  
>               if (sizeof(key_len) > remaining)
> @@ -85,17 +86,14 @@ static void __init unmarshal_key_value_pairs(struct 
> dev_header *dev_header,
>               ucs2_as_utf8(key, ptr + sizeof(key_len),
>                            key_len - sizeof(key_len));
>  
> -             entry[i].name = key;
> -             entry[i].length = val_len - sizeof(val_len);
> -             entry[i].is_array = !!entry[i].length;
> -             entry[i].type = DEV_PROP_U8;
> -             entry[i].pointer.u8_data = ptr + key_len + sizeof(val_len);
> -
> +             entry_data = ptr + key_len + sizeof(val_len);
> +             entry_len = val_len - sizeof(val_len);
> +             entry[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(key, entry_data,
> +                                                    entry_len);

I would rather leave on one line.
Nevertheless,

Reviewed-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>

>               if (dump_properties) {
> -                     dev_info(dev, "property: %s\n", entry[i].name);
> +                     dev_info(dev, "property: %s\n", key);
>                       print_hex_dump(KERN_INFO, pr_fmt(), DUMP_PREFIX_OFFSET,
> -                             16, 1, entry[i].pointer.u8_data,
> -                             entry[i].length, true);
> +                             16, 1, entry_data, entry_len, true);
>               }
>  
>               ptr += key_len + val_len;
> -- 
> 2.23.0.700.g56cf767bdb-goog
> 

-- 
With Best Regards,
Andy Shevchenko


Reply via email to