summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/prom_common.c
Commit message (Collapse)AuthorAgeFilesLines
* sparc: Use kmemdup rather than duplicating its implementationThomas Meyer2011-12-041-3/+1
| | | | | | | | The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: move symbol exporters to use export.h not module.hPaul Gortmaker2011-10-311-1/+1
| | | | | | | | Many of the core sparc kernel files are not modules, but just including module.h for exporting symbols. Now these files can use the lighter footprint export.h for this role. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* of/promtree: no longer call prom_ functions directly; use an ops structureAndres Salomon2010-10-121-1/+35
| | | | | | | | | | | | | | Rather than assuming an architecture defines prom_getchild and friends, define an ops struct with hooks for the various prom functions that pdt.c needs. This ops struct is filled in by the arch-(and sometimes firmware-)specific code, and passed to of_pdt_build_devicetree. Update sparc code to define the ops struct as well. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* of/promtree: make drivers/of/pdt.c no longer sparc-onlyAndres Salomon2010-10-101-1/+9
| | | | | | | | | | | Clean up pdt.c: - make build dependent upon config OF_PROMTREE - #ifdef out the sparc-specific stuff - create pdt-specific header Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* sparc: break out some PROM device-tree building code out into drivers/ofAndres Salomon2010-10-091-189/+1
| | | | | | | | | Transitioning into making this useful for architectures other than sparc. This is a verbatim copy of all functions/variables that've been moved. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* of/sparc: move is_root_node() to of.hAndres Salomon2010-07-141-1/+1
| | | | | | | | | Rename is_root_node() to of_node_is_root() and make it available for all archs to use, as it's not PROM-specific. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* of: merge of_find_node_by_phandleJeremy Kerr2010-02-091-12/+0
| | | | | | | | | Merge common function between powerpc, sparc and microblaze. Code is identical for powerpc and microblaze, but adds a lock (and release) of the devtree_lock on sparc. Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* of: unify phandle name in struct device_nodeGrant Likely2010-01-281-4/+4
| | | | | | | | | | | | | | | | | | | | | 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: Grant Likely <grant.likely@secretlab.ca> Acked-by: David S. Miller <davem@davemloft.net> Tested-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* sparc: Move of_set_property_mutex acquisition outside of devtree_lock grab.David S. Miller2009-11-081-2/+2
| | | | | | | | Otherwise we try to sleep with preemption disabled, etc. Noticed by Thomas Gleixner. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc,leon: Added support for AMBAPP bus.Konrad Eisele2009-08-171-2/+8
| | | | | | | | | | | | | | | | | | The device is a AMBA bus if it is a child of prom node "ambapp" (AMBA plug and play). Two functions leon_trans_init() and leon_node_init() (defined in sparc/kernel/leon_kernel.c) are called in the prom_build_tree() path if CONFIG_SPARC_LEON is defined. leon_node_init() will build up the device tree using AMBA plug and play. Also: a extra check was addes to prom_common.c:build_one_prop() in case a rom-node is undefined which can happen for SPARC-LEON because it creates only a minimum nodes to emulate sparc behaviour. Signed-off-by: Konrad Eisele <konrad@gaisler.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Call OF and MD cpu scanning explicitly from paging_init()David S. Miller2009-06-161-2/+0
| | | | | | | We need to split up the cpu present mask setup from the cpu_data initialization, and this is a first step towards that. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Clean arch-specific code in prom_common.cJulian Calaby2009-01-051-11/+3
| | | | | | | | | | | | | | | prom_nextprop() and prom_firstprop() have slightly different calling conventions in 32 and 64 bit SPARC. prom_common.c uses a ifdef guard to ensure that these functions are called correctly. Adjust code to eliminate this ifdef by using a calling convention that is compatible with both 32 and 64 bit SPARC. Signed-off-by: Julian Calaby <julian.calaby@gmail.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Restore irq_trans_init() call in prom_create_node().David S. Miller2008-12-071-2/+2
| | | | | | | | | | This broke sparc64 in various ways. Add an empty dummy hook in sparc32's prom_32.c so that we can potentially handle things on that side similarly, and in particular avoid a prom_common.c ifdef :-) Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move of_console_{device,path,options} info prom_common.cDavid S. Miller2008-12-051-0/+9
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move prom_build_devicetree() into prom_common.cDavid S. Miller2008-12-051-5/+27
| | | | | | | To make this work we provide a dummy nop implementation of of_fill_in_cpu_data() for sparc32. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move core of OF device tree building code into prom_common.cDavid S. Miller2008-12-051-2/+55
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move create_node() and friends into prom_common.cDavid S. Miller2008-12-051-1/+40
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move property building code into prom_common.cDavid S. Miller2008-12-051-0/+81
| | | | | | | | | | Unfortunately there is some sparc32/sparc64 ifdef'ery in here due to the difference in how the prom_firstprop() and prom_nextprop() routines work. This will be eliminated eventually. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Move 'unique_id' into prom_common.c and rename to 'prom_unique_id'David S. Miller2008-12-051-0/+1
| | | | | | This will be used in a subsequent changeset. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Create common area for OF device layer code.David S. Miller2008-12-051-0/+121
This is where common code implementations will go as we unify 32-bit and 64-bit OF device tree code. Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud