From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: stefano.stabellini@eu.citrix.com, andre.przywara@linaro.org,
patches@linaro.org, xen-devel@lists.xen.org
Subject: Re: [PATCH V1 10/29] xen/dts: Remove device_get_reg call in process_cpu_node
Date: Mon, 09 Sep 2013 10:43:26 +0100 [thread overview]
Message-ID: <522D983E.2030007@linaro.org> (raw)
In-Reply-To: <1378485418.14745.162.camel@kazak.uk.xensource.com>
On 09/06/2013 05:36 PM, Ian Campbell wrote:
> On Wed, 2013-08-28 at 15:47 +0100, Julien Grall wrote:
>> The "reg" property is only composed of one uint32. device_get_reg can be
>> replaced by dt_read_number.
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
>
> Although I notice Linux has helpers like dt_property_read_u32 etc. Would
> be useful for us too I suppose?
The device tree API already have dt_property_read_u32. It was added by
Chen a couple of weeks ago. But this function only works with the device
tree structure.
Here, we are using the flat device tree, because the memory layout has
not yet been setup (so no possibility to allocate memory for the structure).
>>
>> ---
>> Changes in v2:
>> - Rework the commit message
>> ---
>> xen/common/device_tree.c | 19 ++++++++++++-------
>> 1 file changed, 12 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
>> index 833d67d..9568250 100644
>> --- a/xen/common/device_tree.c
>> +++ b/xen/common/device_tree.c
>> @@ -426,21 +426,26 @@ static void __init process_cpu_node(const void *fdt, int node,
>> u32 address_cells, u32 size_cells)
>> {
>> const struct fdt_property *prop;
>> - const u32 *cell;
>> - paddr_t start, size;
>> -
>> + u32 cpuid;
>> + int len;
>>
>> - prop = fdt_get_property(fdt, node, "reg", NULL);
>> + prop = fdt_get_property(fdt, node, "reg", &len);
>> if ( !prop )
>> {
>> early_printk("fdt: node `%s': missing `reg' property\n", name);
>> return;
>> }
>>
>> - cell = (const u32 *)prop->data;
>> - device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
>> + if ( len < sizeof (cpuid) )
>> + {
>> + dt_printk("fdt: node `%s': `reg` property length is too short\n",
>> + name);
>> + return;
>> + }
>> +
>> + cpuid = dt_read_number((const __be32 *)prop->data, 1);
>>
>> - cpumask_set_cpu(start, &cpu_possible_map);
>> + cpumask_set_cpu(cpuid, &cpu_possible_map);
>> }
>>
>> static void __init process_multiboot_node(const void *fdt, int node,
>
>
--
Julien Grall
next prev parent reply other threads:[~2013-09-09 9:43 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-28 14:47 [PATCH V1 00/29] Allow Xen to boot with a raw Device Tree Julien Grall
2013-08-28 14:47 ` [PATCH V1 01/29] xen/char: dt-uart: Allow the user to give a path to the node Julien Grall
2013-09-06 13:08 ` Ian Campbell
2013-09-06 13:34 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 02/29] xen: Introduce __initconst to store initial const data Julien Grall
2013-09-10 10:50 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 03/29] xen/dts: Don't check the number of address and size cells in process_cpu_node Julien Grall
2013-09-06 16:24 ` Ian Campbell
2013-09-10 10:52 ` Ian Campbell
2013-09-10 10:54 ` Julien Grall
2013-09-10 11:03 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 04/29] xen/dts: Constify device_tree_flattened Julien Grall
2013-09-10 10:44 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 05/29] xen/arm: Move __PSCI* from traps.c to the header Julien Grall
2013-08-28 14:47 ` [PATCH V1 06/29] xen: Add new string function Julien Grall
2013-09-06 16:26 ` Ian Campbell
2013-09-09 9:23 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 07/29] xen: Use the right string comparison function in device tree Julien Grall
2013-09-10 10:35 ` Ian Campbell
2013-09-10 12:51 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 08/29] xen/dts: Don't add a fake property "name" in the " Julien Grall
2013-09-06 16:28 ` Ian Campbell
2013-09-09 9:30 ` Julien Grall
2013-09-09 9:40 ` Ian Campbell
2013-09-09 9:59 ` Julien Grall
2013-09-09 10:03 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 09/29] xen/dts: Add new helpers to use " Julien Grall
2013-09-06 16:31 ` Ian Campbell
2013-09-09 9:38 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 10/29] xen/dts: Remove device_get_reg call in process_cpu_node Julien Grall
2013-09-06 16:36 ` Ian Campbell
2013-09-09 9:43 ` Julien Grall [this message]
2013-08-28 14:47 ` [PATCH V1 11/29] xen/dts: Check "reg" property length in process_multiboot_node Julien Grall
2013-09-06 16:40 ` Ian Campbell
2013-09-09 11:11 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 12/29] xen/dts: Check the CPU ID is not greater than NR_CPUS Julien Grall
2013-08-28 14:47 ` [PATCH V1 13/29] xen/video: hdlcd: Convert the driver to the new device tree API Julien Grall
2013-09-06 16:44 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 14/29] xen/video: hdlcd: Use early_printk instead of printk Julien Grall
2013-09-06 16:48 ` Ian Campbell
2013-09-09 11:21 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 15/29] xen/arm: Use dt_device_match to avoid multiple if conditions Julien Grall
2013-09-06 16:50 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 16/29] xen/arm: Build DOM0 FDT by browsing the device tree structure Julien Grall
2013-09-09 11:33 ` Ian Campbell
2013-09-09 12:26 ` Julien Grall
2013-09-09 12:39 ` Ian Campbell
2013-09-09 21:53 ` Julien Grall
2013-09-10 8:58 ` Ian Campbell
2013-09-10 10:39 ` Julien Grall
2013-09-10 10:47 ` Ian Campbell
2013-09-10 10:51 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 17/29] xen/arm: Mark each device used by Xen as disabled in DOM0 FDT Julien Grall
2013-09-09 11:37 ` Ian Campbell
2013-09-09 21:53 ` Julien Grall
2013-09-10 9:01 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 18/29] xen/arm: Don't map disabled device in DOM0 Julien Grall
2013-09-09 11:40 ` Ian Campbell
2013-09-09 21:59 ` Julien Grall
2013-09-10 9:03 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 19/29] xen/arm: Create a fake PSCI node in dom0 device tree Julien Grall
2013-09-09 11:41 ` Ian Campbell
2013-09-09 22:04 ` Julien Grall
2013-09-10 9:04 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 20/29] xen/arm: Create a fake cpus " Julien Grall
2013-09-09 11:44 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 21/29] xen/arm: Create a fake GIC " Julien Grall
2013-09-09 11:49 ` Ian Campbell
2013-09-10 10:49 ` Julien Grall
2013-09-10 13:02 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 22/29] xen/arm: Create a fake timer " Julien Grall
2013-09-09 11:51 ` Ian Campbell
2013-09-10 10:56 ` Julien Grall
2013-09-10 13:02 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 23/29] xen/arm: Add new platform specific callback device_is_blacklist Julien Grall
2013-09-09 11:52 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 24/29] xen/arm: vexpress: Blacklist a list of board specific devices Julien Grall
2013-09-09 11:54 ` Ian Campbell
2013-09-10 11:03 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 25/29] xen/arm: exynos5: Blacklist MCT device Julien Grall
2013-09-09 11:55 ` Ian Campbell
2013-08-28 14:47 ` [PATCH V1 26/29] xen/dts: Clean up the exported API for device tree Julien Grall
2013-08-28 14:47 ` [PATCH V1 27/29] xen/dts: device_get_reg: cells are 32 bits big endian value Julien Grall
2013-09-09 11:57 ` Ian Campbell
2013-09-10 11:08 ` Julien Grall
2013-08-28 14:47 ` [PATCH V1 28/29] xen/arm: Check if the device is available before using it Julien Grall
2013-08-28 14:47 ` [PATCH V1 29/29] ARM: parse separate DT properties for different commandlines Julien Grall
2013-09-09 11:59 ` Ian Campbell
2013-09-09 14:06 ` Andre Przywara
2013-09-10 10:50 ` [PATCH V1 00/29] Allow Xen to boot with a raw Device Tree Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=522D983E.2030007@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=andre.przywara@linaro.org \
--cc=patches@linaro.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.