- 30 12月, 2010 5 次提交
-
-
由 Stephen Neuendorffer 提交于
unflatten_device_tree has two dependencies on things that happen during boot time. Firstly, it references the initial device tree directly. Secondly, it allocates memory using the early boot allocator. This patch factors out these dependencies and uses the new __unflatten_device_tree function to implement a driver-visible fdt_unflatten_tree function, which can be used to unflatten a blob after boot time. V2: - remove extra __va() call - make dt_alloc functions return void *. This doesn't fix the general strangeness in this code that constantly casts back and forth between unsigned long and __be32 * Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Stephen Neuendorffer 提交于
Move unflatten_dt_node to be grouped with non-__init functions. Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Stephen Neuendorffer 提交于
unflatten_dt_node is a helper function that does most of the work to convert a device tree blob into tree of device nodes. This code now uses a passed-in blob instead of using the single boot-time blob, allowing it to be called in more contexts. Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Stephen Neuendorffer 提交于
In preparation for providing run-time handling of device trees, factor out some of the basic functions so that they take an arbitrary blob, rather than relying on the single boot-time tree. V2: - functions have of_fdt_* names - removed find_flat_dt_string - blob argument is first Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Stephen Neuendorffer 提交于
The device tree code is now in two pieces: some which can be used generically on any platform which selects CONFIG_OF_FLATTREE, and some early which is used at boot time on only a few architectures. This patch segregates the early code so that only those architectures which care about it need compile it. This also means that some of the requirements in the early code (such as a cmd_line variable) that most architectures (e.g. X86) don't provide can be ignored. Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com> [grant.likely@secretlab.ca: remove extra blank line addition] [grant.likely@secretlab.ca: fixed incorrect #ifdef CONFIG_EARLY_FLATTREE check] [grant.likely@secretlab.ca: Made OF_EARLY_FLATTREE select instead of depend on OF_FLATTREE] Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 22 10月, 2010 1 次提交
-
-
由 Grant Likely 提交于
This patch refactors the early init parsing of the chosen node so that architectures aren't forced to provide an empty implementation of early_init_dt_scan_chosen_arch. Instead, if an architecture wants to do something different, it can either use a wrapper function around early_init_dt_scan_chosen(), or it can replace it altogether. This patch was written in preparation to adding device tree support to both x86 ad MIPS. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Tested-by: NDavid Daney <ddaney@caviumnetworks.com>
-
- 25 7月, 2010 2 次提交
-
-
由 Grant Likely 提交于
The flat tree code wasn't fixing the endianness on phandle values when unflattening the tree, and the code in drivers/of wasn't always doing a be32_to_cpu before trying to dereference the phandle values. This patch fixes them. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Stuart Yoder 提交于
With the current string comparison, a device tree compatible of "foo-bar" would match as compatible with a driver looking for "foo". This patch fixes the function to use the of_compat_cmp() macro so that it does the right thing on all platforms (If sparc ever uses this code, it will still want the strncasecmp() behaviour). Signed-off-by: NStuart Yoder <stuart.yoder@freescale.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 15 7月, 2010 1 次提交
-
-
由 Grant Likely 提交于
There's no reason to use the powerpc-specific _ALIGN macro in the fdt code. Replace it with ALIGN() from kernel.h Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-By: NJeremy Kerr <jeremy.kerr@canonical.com> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
-
- 29 4月, 2010 1 次提交
-
-
由 Grant Likely 提交于
This patch makes unflatten_device_tree() safe to call from any arch setup code with the following changes: - Make sure initial_boot_params actually points to a device tree blob before unflattening - Make sure the initial_boot_params->magic field is correct - If CONFIG_OF_FLATTREE is not set, then make unflatten_device_tree() an empty static inline function. This patch also adds some additional debug output to the top of unflatten_device_tree(). Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 27 3月, 2010 1 次提交
-
-
由 Jason Gunthorpe 提交于
NOPs within the property section are skipped, but NOPs between OF_DT_END_NODE and OF_DT_BEGIN_NODE were not. My firmware NOPs out entire nodes depending on various environment parameters. of_scan_flat_dt already handles NOP more generally. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
- 14 2月, 2010 1 次提交
-
-
由 Jeremy Kerr 提交于
We don't always have lmb available, so make arches provide an early_init_dt_alloc_memory_arch() to handle the allocation of memory in the fdt code. When we don't have lmb.h included, we need asm/page.h for __va. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: NMichal Simek <monstr@monstr.eu>
-
- 09 2月, 2010 7 次提交
-
-
由 David Gibson 提交于
Currently when processing flattened device trees, the kernel expects the phandle in a property called "linux,phandle". The ePAPR spec - not being Linux specific - instead requires phandles to be encoded in a property named simply "phandle". This patch makes the kernel accept either form when unflattening the device tree. Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Jeremy Kerr 提交于
The boot_param_header has big-endian fields, so change the types to __be32, and perform endian conversion when we access them. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Jeremy Kerr 提交于
Properties in the device tree are specified as big-endian. At present, the only platforms to support device trees are also big-endian, so we've been acessing the properties as raw values. We'd like to add device tree support to little-endian platforms too, so add endian conversion to the sites where we access property values in the common of code. Compiled on powerpc (ppc44x_defconfig & ppc64_defconfig) and arm (fdt support only for now). Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Jeremy Kerr 提交于
Currently, we're using u32 for cell values, and hence assuming host-endian device trees. As we'd like to support little-endian platforms, use a __be32 for cell values, and convert in the cell accessors. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Jeremy Kerr 提交于
At present we're using hard-coded values for defaults when parsing the FDT. This change uses the #defines instead. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Jeremy Kerr 提交于
At present, the fdt code sets the kernel-wide initrd_start and initrd_end variables when parsing /chosen. On ARM, we only set these once the bootmem has been reserved. This change adds an arch hook to setup the initrd from the device tree: void early_init_dt_setup_initrd_arch(unsigned long start, unsigned long end); The arch-specific code can then setup the initrd however it likes. Compiled on powerpc, with CONFIG_BLK_DEV_INITRD=y and =n. Signed-off-by: NJeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze architectures. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NMichal Simek <monstr@monstr.eu>
-
- 29 1月, 2010 1 次提交
-
-
由 Grant Likely 提交于
In struct device_node, the phandle is named 'linux_phandle' for PowerPC and MicroBlaze, and 'node' for SPARC. There is no good reason for the difference, it is just an artifact of the code diverging over a couple of years. This patch renames both to simply .phandle. Note: the .node also existed in PowerPC/MicroBlaze, but the only user seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't look like the assignment between .linux_phandle and .node is significantly different enough to warrant the separate code paths unless ibm,phandle properties actually appear in Apple device trees. I think it is safe to eliminate the old .node property and use phandle everywhere. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NDavid S. Miller <davem@davemloft.net> Tested-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
-
- 11 12月, 2009 4 次提交
-
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze. This patch splits the arch-specific stuff out into a new function, early_init_dt_scan_chosen_arch(). Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Tested-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Tested-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org> Tested-by: NWolfram Sang <w.sang@pengutronix.de>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Tested-by: NWolfram Sang <w.sang@pengutronix.de> Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
-
- 24 11月, 2009 7 次提交
-
-
由 Grant Likely 提交于
Merge common code between PowerPC and MicroBlaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between PowerPC and MicroBlaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between PowerPC and MicroBlaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between PowerPC and Microblaze Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-
由 Grant Likely 提交于
Merge common code between Microblaze and PowerPC. Signed-off-by: NGrant Likely <grant.likely@secretlab.ca> Reviewed-by: NWolfram Sang <w.sang@pengutronix.de> Tested-by: NMichal Simek <monstr@monstr.eu>
-