diff options
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 20 | ||||
-rw-r--r-- | arch/powerpc/platforms/maple/setup.c | 27 |
2 files changed, 21 insertions, 26 deletions
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 63a1670d3bfd..dc05af5156a9 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -38,16 +38,16 @@ static struct pci_controller *u3_agp, *u3_ht; | |||
38 | static int __init fixup_one_level_bus_range(struct device_node *node, int higher) | 38 | static int __init fixup_one_level_bus_range(struct device_node *node, int higher) |
39 | { | 39 | { |
40 | for (; node != 0;node = node->sibling) { | 40 | for (; node != 0;node = node->sibling) { |
41 | int * bus_range; | 41 | const int *bus_range; |
42 | unsigned int *class_code; | 42 | const unsigned int *class_code; |
43 | int len; | 43 | int len; |
44 | 44 | ||
45 | /* For PCI<->PCI bridges or CardBus bridges, we go down */ | 45 | /* For PCI<->PCI bridges or CardBus bridges, we go down */ |
46 | class_code = (unsigned int *) get_property(node, "class-code", NULL); | 46 | class_code = get_property(node, "class-code", NULL); |
47 | if (!class_code || ((*class_code >> 8) != PCI_CLASS_BRIDGE_PCI && | 47 | if (!class_code || ((*class_code >> 8) != PCI_CLASS_BRIDGE_PCI && |
48 | (*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) | 48 | (*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) |
49 | continue; | 49 | continue; |
50 | bus_range = (int *) get_property(node, "bus-range", &len); | 50 | bus_range = get_property(node, "bus-range", &len); |
51 | if (bus_range != NULL && len > 2 * sizeof(int)) { | 51 | if (bus_range != NULL && len > 2 * sizeof(int)) { |
52 | if (bus_range[1] > higher) | 52 | if (bus_range[1] > higher) |
53 | higher = bus_range[1]; | 53 | higher = bus_range[1]; |
@@ -65,16 +65,18 @@ static int __init fixup_one_level_bus_range(struct device_node *node, int higher | |||
65 | */ | 65 | */ |
66 | static void __init fixup_bus_range(struct device_node *bridge) | 66 | static void __init fixup_bus_range(struct device_node *bridge) |
67 | { | 67 | { |
68 | int * bus_range; | 68 | int *bus_range; |
69 | struct property *prop; | ||
69 | int len; | 70 | int len; |
70 | 71 | ||
71 | /* Lookup the "bus-range" property for the hose */ | 72 | /* Lookup the "bus-range" property for the hose */ |
72 | bus_range = (int *) get_property(bridge, "bus-range", &len); | 73 | prop = of_find_property(bridge, "bus-range", &len); |
73 | if (bus_range == NULL || len < 2 * sizeof(int)) { | 74 | if (prop == NULL || prop->value == NULL || len < 2 * sizeof(int)) { |
74 | printk(KERN_WARNING "Can't get bus-range for %s\n", | 75 | printk(KERN_WARNING "Can't get bus-range for %s\n", |
75 | bridge->full_name); | 76 | bridge->full_name); |
76 | return; | 77 | return; |
77 | } | 78 | } |
79 | bus_range = (int *)prop->value; | ||
78 | bus_range[1] = fixup_one_level_bus_range(bridge->child, bus_range[1]); | 80 | bus_range[1] = fixup_one_level_bus_range(bridge->child, bus_range[1]); |
79 | } | 81 | } |
80 | 82 | ||
@@ -314,12 +316,12 @@ static int __init add_bridge(struct device_node *dev) | |||
314 | int len; | 316 | int len; |
315 | struct pci_controller *hose; | 317 | struct pci_controller *hose; |
316 | char* disp_name; | 318 | char* disp_name; |
317 | int *bus_range; | 319 | const int *bus_range; |
318 | int primary = 1; | 320 | int primary = 1; |
319 | 321 | ||
320 | DBG("Adding PCI host bridge %s\n", dev->full_name); | 322 | DBG("Adding PCI host bridge %s\n", dev->full_name); |
321 | 323 | ||
322 | bus_range = (int *) get_property(dev, "bus-range", &len); | 324 | bus_range = get_property(dev, "bus-range", &len); |
323 | if (bus_range == NULL || len < 2 * sizeof(int)) { | 325 | if (bus_range == NULL || len < 2 * sizeof(int)) { |
324 | printk(KERN_WARNING "Can't get bus-range for %s, assume bus 0\n", | 326 | printk(KERN_WARNING "Can't get bus-range for %s, assume bus 0\n", |
325 | dev->full_name); | 327 | dev->full_name); |
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c index cb528c9de4c3..ecc764a3ff3a 100644 --- a/arch/powerpc/platforms/maple/setup.c +++ b/arch/powerpc/platforms/maple/setup.c | |||
@@ -99,8 +99,7 @@ static unsigned long maple_find_nvram_base(void) | |||
99 | static void maple_restart(char *cmd) | 99 | static void maple_restart(char *cmd) |
100 | { | 100 | { |
101 | unsigned int maple_nvram_base; | 101 | unsigned int maple_nvram_base; |
102 | unsigned int maple_nvram_offset; | 102 | const unsigned int *maple_nvram_offset, *maple_nvram_command; |
103 | unsigned int maple_nvram_command; | ||
104 | struct device_node *sp; | 103 | struct device_node *sp; |
105 | 104 | ||
106 | maple_nvram_base = maple_find_nvram_base(); | 105 | maple_nvram_base = maple_find_nvram_base(); |
@@ -113,14 +112,12 @@ static void maple_restart(char *cmd) | |||
113 | printk(KERN_EMERG "Maple: Unable to find Service Processor\n"); | 112 | printk(KERN_EMERG "Maple: Unable to find Service Processor\n"); |
114 | goto fail; | 113 | goto fail; |
115 | } | 114 | } |
116 | maple_nvram_offset = *(unsigned int*) get_property(sp, | 115 | maple_nvram_offset = get_property(sp, "restart-addr", NULL); |
117 | "restart-addr", NULL); | 116 | maple_nvram_command = get_property(sp, "restart-value", NULL); |
118 | maple_nvram_command = *(unsigned int*) get_property(sp, | ||
119 | "restart-value", NULL); | ||
120 | of_node_put(sp); | 117 | of_node_put(sp); |
121 | 118 | ||
122 | /* send command */ | 119 | /* send command */ |
123 | outb_p(maple_nvram_command, maple_nvram_base + maple_nvram_offset); | 120 | outb_p(*maple_nvram_command, maple_nvram_base + *maple_nvram_offset); |
124 | for (;;) ; | 121 | for (;;) ; |
125 | fail: | 122 | fail: |
126 | printk(KERN_EMERG "Maple: Manual Restart Required\n"); | 123 | printk(KERN_EMERG "Maple: Manual Restart Required\n"); |
@@ -129,8 +126,7 @@ static void maple_restart(char *cmd) | |||
129 | static void maple_power_off(void) | 126 | static void maple_power_off(void) |
130 | { | 127 | { |
131 | unsigned int maple_nvram_base; | 128 | unsigned int maple_nvram_base; |
132 | unsigned int maple_nvram_offset; | 129 | const unsigned int *maple_nvram_offset, *maple_nvram_command; |
133 | unsigned int maple_nvram_command; | ||
134 | struct device_node *sp; | 130 | struct device_node *sp; |
135 | 131 | ||
136 | maple_nvram_base = maple_find_nvram_base(); | 132 | maple_nvram_base = maple_find_nvram_base(); |
@@ -143,14 +139,12 @@ static void maple_power_off(void) | |||
143 | printk(KERN_EMERG "Maple: Unable to find Service Processor\n"); | 139 | printk(KERN_EMERG "Maple: Unable to find Service Processor\n"); |
144 | goto fail; | 140 | goto fail; |
145 | } | 141 | } |
146 | maple_nvram_offset = *(unsigned int*) get_property(sp, | 142 | maple_nvram_offset = get_property(sp, "power-off-addr", NULL); |
147 | "power-off-addr", NULL); | 143 | maple_nvram_command = get_property(sp, "power-off-value", NULL); |
148 | maple_nvram_command = *(unsigned int*) get_property(sp, | ||
149 | "power-off-value", NULL); | ||
150 | of_node_put(sp); | 144 | of_node_put(sp); |
151 | 145 | ||
152 | /* send command */ | 146 | /* send command */ |
153 | outb_p(maple_nvram_command, maple_nvram_base + maple_nvram_offset); | 147 | outb_p(*maple_nvram_command, maple_nvram_base + *maple_nvram_offset); |
154 | for (;;) ; | 148 | for (;;) ; |
155 | fail: | 149 | fail: |
156 | printk(KERN_EMERG "Maple: Manual Power-Down Required\n"); | 150 | printk(KERN_EMERG "Maple: Manual Power-Down Required\n"); |
@@ -211,7 +205,7 @@ static void __init maple_init_early(void) | |||
211 | static void __init maple_init_IRQ(void) | 205 | static void __init maple_init_IRQ(void) |
212 | { | 206 | { |
213 | struct device_node *root, *np, *mpic_node = NULL; | 207 | struct device_node *root, *np, *mpic_node = NULL; |
214 | unsigned int *opprop; | 208 | const unsigned int *opprop; |
215 | unsigned long openpic_addr = 0; | 209 | unsigned long openpic_addr = 0; |
216 | int naddr, n, i, opplen, has_isus = 0; | 210 | int naddr, n, i, opplen, has_isus = 0; |
217 | struct mpic *mpic; | 211 | struct mpic *mpic; |
@@ -234,8 +228,7 @@ static void __init maple_init_IRQ(void) | |||
234 | /* Find address list in /platform-open-pic */ | 228 | /* Find address list in /platform-open-pic */ |
235 | root = of_find_node_by_path("/"); | 229 | root = of_find_node_by_path("/"); |
236 | naddr = prom_n_addr_cells(root); | 230 | naddr = prom_n_addr_cells(root); |
237 | opprop = (unsigned int *) get_property(root, "platform-open-pic", | 231 | opprop = get_property(root, "platform-open-pic", &opplen); |
238 | &opplen); | ||
239 | if (opprop != 0) { | 232 | if (opprop != 0) { |
240 | openpic_addr = of_read_number(opprop, naddr); | 233 | openpic_addr = of_read_number(opprop, naddr); |
241 | has_isus = (opplen > naddr); | 234 | has_isus = (opplen > naddr); |