]>
Commit | Line | Data |
---|---|---|
9d24c888 | 1 | #include <linux/of.h> /* linux/of.h gets to determine #include ordering */ |
9b6b563c PM |
2 | #ifndef _POWERPC_PROM_H |
3 | #define _POWERPC_PROM_H | |
4 | #ifdef __KERNEL__ | |
5 | ||
6 | /* | |
7 | * Definitions for talking to the Open Firmware PROM on | |
8 | * Power Macintosh computers. | |
9 | * | |
10 | * Copyright (C) 1996-2005 Paul Mackerras. | |
11 | * | |
12 | * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. | |
13 | * | |
14 | * This program is free software; you can redistribute it and/or | |
15 | * modify it under the terms of the GNU General Public License | |
16 | * as published by the Free Software Foundation; either version | |
17 | * 2 of the License, or (at your option) any later version. | |
18 | */ | |
19 | #include <linux/types.h> | |
99ddef9b | 20 | #include <asm/irq.h> |
60063497 | 21 | #include <linux/atomic.h> |
9b6b563c | 22 | |
9b6b563c PM |
23 | #define HAVE_ARCH_DEVTREE_FIXUPS |
24 | ||
d1405b86 | 25 | /* |
d2dd482b BH |
26 | * OF address retreival & translation |
27 | */ | |
28 | ||
837c54db BH |
29 | /* Translate a DMA address from device space to CPU space */ |
30 | extern u64 of_translate_dma_address(struct device_node *dev, | |
0131d897 | 31 | const __be32 *in_addr); |
837c54db | 32 | |
1f5bef30 GL |
33 | #ifdef CONFIG_PCI |
34 | extern unsigned long pci_address_to_pio(phys_addr_t address); | |
22ae782f | 35 | #define pci_address_to_pio pci_address_to_pio |
1f5bef30 GL |
36 | #endif /* CONFIG_PCI */ |
37 | ||
d4ad66fa JK |
38 | /* Parse the ibm,dma-window property of an OF node into the busno, phys and |
39 | * size parameters. | |
40 | */ | |
a7f67bdf | 41 | void of_parse_dma_window(struct device_node *dn, const void *dma_window_prop, |
d4ad66fa JK |
42 | unsigned long *busno, unsigned long *phys, unsigned long *size); |
43 | ||
b68239ee ME |
44 | extern void kdump_move_device_tree(void); |
45 | ||
acf7d768 BH |
46 | /* CPU OF node matching */ |
47 | struct device_node *of_get_cpu_node(int cpu, unsigned int *thread); | |
48 | ||
e523f723 NL |
49 | /* cache lookup */ |
50 | struct device_node *of_find_next_cache_node(struct device_node *np); | |
51 | ||
559e2b7e GL |
52 | #ifdef CONFIG_NUMA |
53 | extern int of_node_to_nid(struct device_node *device); | |
54 | #else | |
55 | static inline int of_node_to_nid(struct device_node *device) { return 0; } | |
56 | #endif | |
57 | #define of_node_to_nid of_node_to_nid | |
58 | ||
129ac799 GL |
59 | extern void of_instantiate_rtc(void); |
60 | ||
22ae782f GL |
61 | /* These includes are put at the bottom because they may contain things |
62 | * that are overridden by this file. Ideally they shouldn't be included | |
63 | * by this file, but there are a bunch of .c files that currently depend | |
64 | * on it. Eventually they will be cleaned up. */ | |
65 | #include <linux/of_fdt.h> | |
66 | #include <linux/of_address.h> | |
67 | #include <linux/of_irq.h> | |
68 | #include <linux/platform_device.h> | |
69 | ||
9b6b563c PM |
70 | #endif /* __KERNEL__ */ |
71 | #endif /* _POWERPC_PROM_H */ |