diff options
Diffstat (limited to 'arch/powerpc/platforms/cell/iommu.c')
-rw-r--r-- | arch/powerpc/platforms/cell/iommu.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index a35004e14c69..d2b20eba5b87 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c | |||
@@ -308,15 +308,16 @@ static void cell_do_map_iommu(struct cell_iommu *iommu, | |||
308 | 308 | ||
309 | static void iommu_devnode_setup(struct device_node *d) | 309 | static void iommu_devnode_setup(struct device_node *d) |
310 | { | 310 | { |
311 | unsigned int *ioid; | 311 | const unsigned int *ioid; |
312 | unsigned long *dma_window, map_start, map_size, token; | 312 | unsigned long map_start, map_size, token; |
313 | const unsigned long *dma_window; | ||
313 | struct cell_iommu *iommu; | 314 | struct cell_iommu *iommu; |
314 | 315 | ||
315 | ioid = (unsigned int *)get_property(d, "ioid", NULL); | 316 | ioid = get_property(d, "ioid", NULL); |
316 | if (!ioid) | 317 | if (!ioid) |
317 | pr_debug("No ioid entry found !\n"); | 318 | pr_debug("No ioid entry found !\n"); |
318 | 319 | ||
319 | dma_window = (unsigned long *)get_property(d, "ibm,dma-window", NULL); | 320 | dma_window = get_property(d, "ibm,dma-window", NULL); |
320 | if (!dma_window) | 321 | if (!dma_window) |
321 | pr_debug("No ibm,dma-window entry found !\n"); | 322 | pr_debug("No ibm,dma-window entry found !\n"); |
322 | 323 | ||
@@ -371,8 +372,9 @@ static int cell_map_iommu_hardcoded(int num_nodes) | |||
371 | 372 | ||
372 | static int cell_map_iommu(void) | 373 | static int cell_map_iommu(void) |
373 | { | 374 | { |
374 | unsigned int num_nodes = 0, *node_id; | 375 | unsigned int num_nodes = 0; |
375 | unsigned long *base, *mmio_base; | 376 | const unsigned int *node_id; |
377 | const unsigned long *base, *mmio_base; | ||
376 | struct device_node *dn; | 378 | struct device_node *dn; |
377 | struct cell_iommu *iommu = NULL; | 379 | struct cell_iommu *iommu = NULL; |
378 | 380 | ||
@@ -381,7 +383,7 @@ static int cell_map_iommu(void) | |||
381 | for(dn = of_find_node_by_type(NULL, "cpu"); | 383 | for(dn = of_find_node_by_type(NULL, "cpu"); |
382 | dn; | 384 | dn; |
383 | dn = of_find_node_by_type(dn, "cpu")) { | 385 | dn = of_find_node_by_type(dn, "cpu")) { |
384 | node_id = (unsigned int *)get_property(dn, "node-id", NULL); | 386 | node_id = get_property(dn, "node-id", NULL); |
385 | 387 | ||
386 | if (num_nodes < *node_id) | 388 | if (num_nodes < *node_id) |
387 | num_nodes = *node_id; | 389 | num_nodes = *node_id; |
@@ -396,9 +398,9 @@ static int cell_map_iommu(void) | |||
396 | dn; | 398 | dn; |
397 | dn = of_find_node_by_type(dn, "cpu")) { | 399 | dn = of_find_node_by_type(dn, "cpu")) { |
398 | 400 | ||
399 | node_id = (unsigned int *)get_property(dn, "node-id", NULL); | 401 | node_id = get_property(dn, "node-id", NULL); |
400 | base = (unsigned long *)get_property(dn, "ioc-cache", NULL); | 402 | base = get_property(dn, "ioc-cache", NULL); |
401 | mmio_base = (unsigned long *)get_property(dn, "ioc-translation", NULL); | 403 | mmio_base = get_property(dn, "ioc-translation", NULL); |
402 | 404 | ||
403 | if (!base || !mmio_base || !node_id) | 405 | if (!base || !mmio_base || !node_id) |
404 | return cell_map_iommu_hardcoded(num_nodes); | 406 | return cell_map_iommu_hardcoded(num_nodes); |