lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 18 Sep 2019 15:32:14 -0700
From:   rananta@...eaurora.org
To:     Rob Herring <robh+dt@...nel.org>
Cc:     Frank Rowand <frowand.list@...il.com>,
        Trilok Soni <tsoni@...eaurora.org>,
        Android Kernel Team <kernel-team@...roid.com>,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] of: Add of_get_memory_prop()

On 2019-09-18 13:13, Rob Herring wrote:
> On Wed, Sep 18, 2019 at 1:47 PM Raghavendra Rao Ananta
> <rananta@...eaurora.org> wrote:
>> 
>> On some embedded systems, the '/memory' dt-property gets updated
>> by the bootloader (for example, the DDR configuration) and then
>> gets passed onto the kernel. The device drivers may have to read
>> the properties at runtime to make decisions. Hence, add
>> of_get_memory_prop() for the device drivers to query the requested
> 
> Function name doesn't match. Device drivers don't need to access the 
> FDT.
> 
>> properties.
>> 
>> Signed-off-by: Raghavendra Rao Ananta <rananta@...eaurora.org>
>> ---
>>  drivers/of/fdt.c       | 27 +++++++++++++++++++++++++++
>>  include/linux/of_fdt.h |  1 +
>>  2 files changed, 28 insertions(+)
> 
> We don't add kernel api's without users.
> 
>> 
>> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
>> index 223d617ecfe1..925cf2852433 100644
>> --- a/drivers/of/fdt.c
>> +++ b/drivers/of/fdt.c
>> @@ -79,6 +79,33 @@ void __init of_fdt_limit_memory(int limit)
>>         }
>>  }
>> 
>> +/**
>> + * of_fdt_get_memory_prop - Return the requested property from the 
>> /memory node
>> + *
>> + * On match, returns a non-zero positive value which represents the 
>> property
>> + * value. Otherwise returns -ENOENT.
>> + */
>> +int of_fdt_get_memory_prop(const char *pname)
>> +{
>> +       int memory;
>> +       int len;
>> +       fdt32_t *prop = NULL;
>> +
>> +       if (!pname)
>> +               return -EINVAL;
>> +
>> +       memory = fdt_path_offset(initial_boot_params, "/memory");
> 
> Memory nodes should have a unit-address, so this won't work frequently.
Sorry, can you please elaborate more on this? What do you mean by 
unit-address and working frequently?
> 
>> +       if (memory > 0)
>> +               prop = fdt_getprop_w(initial_boot_params, memory,
>> +                                 pname, &len);
>> +
>> +       if (!prop || len != sizeof(u32))
>> +               return -ENOENT;
>> +
>> +       return fdt32_to_cpu(*prop);
>> +}
>> +EXPORT_SYMBOL_GPL(of_fdt_get_memory_prop);
>> +
>>  static bool of_fdt_device_is_available(const void *blob, unsigned 
>> long node)
>>  {
>>         const char *status = fdt_getprop(blob, node, "status", NULL);
>> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
>> index acf820e88952..537f29373358 100644
>> --- a/include/linux/of_fdt.h
>> +++ b/include/linux/of_fdt.h
>> @@ -38,6 +38,7 @@ extern char __dtb_end[];
>>  /* Other Prototypes */
>>  extern u64 of_flat_dt_translate_address(unsigned long node);
>>  extern void of_fdt_limit_memory(int limit);
>> +extern int of_fdt_get_memory_prop(const char *pname);
>>  #endif /* CONFIG_OF_FLATTREE */
>> 
>>  #ifdef CONFIG_OF_EARLY_FLATTREE
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
>> Forum,
>> a Linux Foundation Collaborative Project
>> 
- Raghavendra

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ