diff options
| -rw-r--r-- | arch/sparc/include/asm/Kbuild | 1 | ||||
| -rw-r--r-- | arch/sparc/include/asm/leon.h | 2 | ||||
| -rw-r--r-- | arch/sparc/include/asm/leon_amba.h | 1 | ||||
| -rw-r--r-- | arch/sparc/include/asm/linkage.h | 6 | ||||
| -rw-r--r-- | arch/sparc/kernel/ds.c | 3 | ||||
| -rw-r--r-- | arch/sparc/kernel/leon_kernel.c | 54 | ||||
| -rw-r--r-- | arch/sparc/kernel/leon_pci_grpci1.c | 8 | ||||
| -rw-r--r-- | arch/sparc/kernel/leon_pmc.c | 7 | ||||
| -rw-r--r-- | arch/sparc/kernel/setup_32.c | 2 | ||||
| -rw-r--r-- | arch/sparc/kernel/setup_64.c | 2 | ||||
| -rw-r--r-- | arch/sparc/mm/init_64.c | 9 | ||||
| -rw-r--r-- | arch/sparc/mm/tlb.c | 2 | ||||
| -rw-r--r-- | arch/sparc/prom/bootstr_32.c | 12 | ||||
| -rw-r--r-- | arch/sparc/prom/tree_64.c | 16 |
14 files changed, 58 insertions, 67 deletions
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index ff18e3cfb6b1..7e4a97fbded4 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild | |||
| @@ -6,6 +6,7 @@ generic-y += cputime.h | |||
| 6 | generic-y += div64.h | 6 | generic-y += div64.h |
| 7 | generic-y += emergency-restart.h | 7 | generic-y += emergency-restart.h |
| 8 | generic-y += exec.h | 8 | generic-y += exec.h |
| 9 | generic-y += linkage.h | ||
| 9 | generic-y += local64.h | 10 | generic-y += local64.h |
| 10 | generic-y += mutex.h | 11 | generic-y += mutex.h |
| 11 | generic-y += irq_regs.h | 12 | generic-y += irq_regs.h |
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h index 15a716934e4d..b836e9297f2a 100644 --- a/arch/sparc/include/asm/leon.h +++ b/arch/sparc/include/asm/leon.h | |||
| @@ -135,7 +135,7 @@ static inline int sparc_leon3_cpuid(void) | |||
| 135 | 135 | ||
| 136 | #ifdef CONFIG_SMP | 136 | #ifdef CONFIG_SMP |
| 137 | # define LEON3_IRQ_IPI_DEFAULT 13 | 137 | # define LEON3_IRQ_IPI_DEFAULT 13 |
| 138 | # define LEON3_IRQ_TICKER (leon3_ticker_irq) | 138 | # define LEON3_IRQ_TICKER (leon3_gptimer_irq) |
| 139 | # define LEON3_IRQ_CROSS_CALL 15 | 139 | # define LEON3_IRQ_CROSS_CALL 15 |
| 140 | #endif | 140 | #endif |
| 141 | 141 | ||
diff --git a/arch/sparc/include/asm/leon_amba.h b/arch/sparc/include/asm/leon_amba.h index f3034eddf468..24ec48c3ff90 100644 --- a/arch/sparc/include/asm/leon_amba.h +++ b/arch/sparc/include/asm/leon_amba.h | |||
| @@ -47,6 +47,7 @@ struct amba_prom_registers { | |||
| 47 | #define LEON3_GPTIMER_LD 4 | 47 | #define LEON3_GPTIMER_LD 4 |
| 48 | #define LEON3_GPTIMER_IRQEN 8 | 48 | #define LEON3_GPTIMER_IRQEN 8 |
| 49 | #define LEON3_GPTIMER_SEPIRQ 8 | 49 | #define LEON3_GPTIMER_SEPIRQ 8 |
| 50 | #define LEON3_GPTIMER_TIMERS 0x7 | ||
| 50 | 51 | ||
| 51 | #define LEON23_REG_TIMER_CONTROL_EN 0x00000001 /* 1 = enable counting */ | 52 | #define LEON23_REG_TIMER_CONTROL_EN 0x00000001 /* 1 = enable counting */ |
| 52 | /* 0 = hold scalar and counter */ | 53 | /* 0 = hold scalar and counter */ |
diff --git a/arch/sparc/include/asm/linkage.h b/arch/sparc/include/asm/linkage.h deleted file mode 100644 index 291c2d01c44f..000000000000 --- a/arch/sparc/include/asm/linkage.h +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | #ifndef __ASM_LINKAGE_H | ||
| 2 | #define __ASM_LINKAGE_H | ||
| 3 | |||
| 4 | /* Nothing to see here... */ | ||
| 5 | |||
| 6 | #endif | ||
diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c index 75bb608c423e..5ef48dab5636 100644 --- a/arch/sparc/kernel/ds.c +++ b/arch/sparc/kernel/ds.c | |||
| @@ -843,7 +843,8 @@ void ldom_reboot(const char *boot_command) | |||
| 843 | unsigned long len; | 843 | unsigned long len; |
| 844 | 844 | ||
| 845 | strcpy(full_boot_str, "boot "); | 845 | strcpy(full_boot_str, "boot "); |
| 846 | strcpy(full_boot_str + strlen("boot "), boot_command); | 846 | strlcpy(full_boot_str + strlen("boot "), boot_command, |
| 847 | sizeof(full_boot_str + strlen("boot "))); | ||
| 847 | len = strlen(full_boot_str); | 848 | len = strlen(full_boot_str); |
| 848 | 849 | ||
| 849 | if (reboot_data_supported) { | 850 | if (reboot_data_supported) { |
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c index 7c0231dabe44..b7c68976cbc7 100644 --- a/arch/sparc/kernel/leon_kernel.c +++ b/arch/sparc/kernel/leon_kernel.c | |||
| @@ -38,7 +38,6 @@ static DEFINE_SPINLOCK(leon_irq_lock); | |||
| 38 | 38 | ||
| 39 | unsigned long leon3_gptimer_irq; /* interrupt controller irq number */ | 39 | unsigned long leon3_gptimer_irq; /* interrupt controller irq number */ |
| 40 | unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */ | 40 | unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */ |
| 41 | int leon3_ticker_irq; /* Timer ticker IRQ */ | ||
| 42 | unsigned int sparc_leon_eirq; | 41 | unsigned int sparc_leon_eirq; |
| 43 | #define LEON_IMASK(cpu) (&leon3_irqctrl_regs->mask[cpu]) | 42 | #define LEON_IMASK(cpu) (&leon3_irqctrl_regs->mask[cpu]) |
| 44 | #define LEON_IACK (&leon3_irqctrl_regs->iclear) | 43 | #define LEON_IACK (&leon3_irqctrl_regs->iclear) |
| @@ -278,6 +277,9 @@ irqreturn_t leon_percpu_timer_ce_interrupt(int irq, void *unused) | |||
| 278 | 277 | ||
| 279 | leon_clear_profile_irq(cpu); | 278 | leon_clear_profile_irq(cpu); |
| 280 | 279 | ||
| 280 | if (cpu == boot_cpu_id) | ||
| 281 | timer_interrupt(irq, NULL); | ||
| 282 | |||
| 281 | ce = &per_cpu(sparc32_clockevent, cpu); | 283 | ce = &per_cpu(sparc32_clockevent, cpu); |
| 282 | 284 | ||
| 283 | irq_enter(); | 285 | irq_enter(); |
| @@ -299,6 +301,7 @@ void __init leon_init_timers(void) | |||
| 299 | int icsel; | 301 | int icsel; |
| 300 | int ampopts; | 302 | int ampopts; |
| 301 | int err; | 303 | int err; |
| 304 | u32 config; | ||
| 302 | 305 | ||
| 303 | sparc_config.get_cycles_offset = leon_cycles_offset; | 306 | sparc_config.get_cycles_offset = leon_cycles_offset; |
| 304 | sparc_config.cs_period = 1000000 / HZ; | 307 | sparc_config.cs_period = 1000000 / HZ; |
| @@ -377,23 +380,6 @@ void __init leon_init_timers(void) | |||
| 377 | LEON3_BYPASS_STORE_PA( | 380 | LEON3_BYPASS_STORE_PA( |
| 378 | &leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, 0); | 381 | &leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, 0); |
| 379 | 382 | ||
| 380 | #ifdef CONFIG_SMP | ||
| 381 | leon3_ticker_irq = leon3_gptimer_irq + 1 + leon3_gptimer_idx; | ||
| 382 | |||
| 383 | if (!(LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config) & | ||
| 384 | (1<<LEON3_GPTIMER_SEPIRQ))) { | ||
| 385 | printk(KERN_ERR "timer not configured with separate irqs\n"); | ||
| 386 | BUG(); | ||
| 387 | } | ||
| 388 | |||
| 389 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].val, | ||
| 390 | 0); | ||
| 391 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].rld, | ||
| 392 | (((1000000/HZ) - 1))); | ||
| 393 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].ctrl, | ||
| 394 | 0); | ||
| 395 | #endif | ||
| 396 | |||
| 397 | /* | 383 | /* |
| 398 | * The IRQ controller may (if implemented) consist of multiple | 384 | * The IRQ controller may (if implemented) consist of multiple |
| 399 | * IRQ controllers, each mapped on a 4Kb boundary. | 385 | * IRQ controllers, each mapped on a 4Kb boundary. |
| @@ -416,13 +402,6 @@ void __init leon_init_timers(void) | |||
| 416 | if (eirq != 0) | 402 | if (eirq != 0) |
| 417 | leon_eirq_setup(eirq); | 403 | leon_eirq_setup(eirq); |
| 418 | 404 | ||
| 419 | irq = _leon_build_device_irq(NULL, leon3_gptimer_irq+leon3_gptimer_idx); | ||
| 420 | err = request_irq(irq, timer_interrupt, IRQF_TIMER, "timer", NULL); | ||
| 421 | if (err) { | ||
| 422 | printk(KERN_ERR "unable to attach timer IRQ%d\n", irq); | ||
| 423 | prom_halt(); | ||
| 424 | } | ||
| 425 | |||
| 426 | #ifdef CONFIG_SMP | 405 | #ifdef CONFIG_SMP |
| 427 | { | 406 | { |
| 428 | unsigned long flags; | 407 | unsigned long flags; |
| @@ -439,30 +418,31 @@ void __init leon_init_timers(void) | |||
| 439 | } | 418 | } |
| 440 | #endif | 419 | #endif |
| 441 | 420 | ||
| 442 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, | 421 | config = LEON3_BYPASS_LOAD_PA(&leon3_gptimer_regs->config); |
| 443 | LEON3_GPTIMER_EN | | 422 | if (config & (1 << LEON3_GPTIMER_SEPIRQ)) |
| 444 | LEON3_GPTIMER_RL | | 423 | leon3_gptimer_irq += leon3_gptimer_idx; |
| 445 | LEON3_GPTIMER_LD | | 424 | else if ((config & LEON3_GPTIMER_TIMERS) > 1) |
| 446 | LEON3_GPTIMER_IRQEN); | 425 | pr_warn("GPTIMER uses shared irqs, using other timers of the same core will fail.\n"); |
| 447 | 426 | ||
| 448 | #ifdef CONFIG_SMP | 427 | #ifdef CONFIG_SMP |
| 449 | /* Install per-cpu IRQ handler for broadcasted ticker */ | 428 | /* Install per-cpu IRQ handler for broadcasted ticker */ |
| 450 | irq = leon_build_device_irq(leon3_ticker_irq, handle_percpu_irq, | 429 | irq = leon_build_device_irq(leon3_gptimer_irq, handle_percpu_irq, |
| 451 | "per-cpu", 0); | 430 | "per-cpu", 0); |
| 452 | err = request_irq(irq, leon_percpu_timer_ce_interrupt, | 431 | err = request_irq(irq, leon_percpu_timer_ce_interrupt, |
| 453 | IRQF_PERCPU | IRQF_TIMER, "ticker", | 432 | IRQF_PERCPU | IRQF_TIMER, "timer", NULL); |
| 454 | NULL); | 433 | #else |
| 434 | irq = _leon_build_device_irq(NULL, leon3_gptimer_irq); | ||
| 435 | err = request_irq(irq, timer_interrupt, IRQF_TIMER, "timer", NULL); | ||
| 436 | #endif | ||
| 455 | if (err) { | 437 | if (err) { |
| 456 | printk(KERN_ERR "unable to attach ticker IRQ%d\n", irq); | 438 | pr_err("Unable to attach timer IRQ%d\n", irq); |
| 457 | prom_halt(); | 439 | prom_halt(); |
| 458 | } | 440 | } |
| 459 | 441 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx].ctrl, | |
| 460 | LEON3_BYPASS_STORE_PA(&leon3_gptimer_regs->e[leon3_gptimer_idx+1].ctrl, | ||
| 461 | LEON3_GPTIMER_EN | | 442 | LEON3_GPTIMER_EN | |
| 462 | LEON3_GPTIMER_RL | | 443 | LEON3_GPTIMER_RL | |
| 463 | LEON3_GPTIMER_LD | | 444 | LEON3_GPTIMER_LD | |
| 464 | LEON3_GPTIMER_IRQEN); | 445 | LEON3_GPTIMER_IRQEN); |
| 465 | #endif | ||
| 466 | return; | 446 | return; |
| 467 | bad: | 447 | bad: |
| 468 | printk(KERN_ERR "No Timer/irqctrl found\n"); | 448 | printk(KERN_ERR "No Timer/irqctrl found\n"); |
diff --git a/arch/sparc/kernel/leon_pci_grpci1.c b/arch/sparc/kernel/leon_pci_grpci1.c index 7739a54315e2..6df26e37f879 100644 --- a/arch/sparc/kernel/leon_pci_grpci1.c +++ b/arch/sparc/kernel/leon_pci_grpci1.c | |||
| @@ -536,11 +536,9 @@ static int grpci1_of_probe(struct platform_device *ofdev) | |||
| 536 | 536 | ||
| 537 | /* find device register base address */ | 537 | /* find device register base address */ |
| 538 | res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); | 538 | res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); |
| 539 | regs = devm_request_and_ioremap(&ofdev->dev, res); | 539 | regs = devm_ioremap_resource(&ofdev->dev, res); |
| 540 | if (!regs) { | 540 | if (IS_ERR(regs)) |
| 541 | dev_err(&ofdev->dev, "io-regs mapping failed\n"); | 541 | return PTR_ERR(regs); |
| 542 | return -EADDRNOTAVAIL; | ||
| 543 | } | ||
| 544 | 542 | ||
| 545 | /* | 543 | /* |
| 546 | * check that we're in Host Slot and that we can act as a Host Bridge | 544 | * check that we're in Host Slot and that we can act as a Host Bridge |
diff --git a/arch/sparc/kernel/leon_pmc.c b/arch/sparc/kernel/leon_pmc.c index bdf53d9a8d46..b0b3967a2dd2 100644 --- a/arch/sparc/kernel/leon_pmc.c +++ b/arch/sparc/kernel/leon_pmc.c | |||
| @@ -47,6 +47,10 @@ void pmc_leon_idle_fixup(void) | |||
| 47 | * MMU does not get a TLB miss here by using the MMU BYPASS ASI. | 47 | * MMU does not get a TLB miss here by using the MMU BYPASS ASI. |
| 48 | */ | 48 | */ |
| 49 | register unsigned int address = (unsigned int)leon3_irqctrl_regs; | 49 | register unsigned int address = (unsigned int)leon3_irqctrl_regs; |
| 50 | |||
| 51 | /* Interrupts need to be enabled to not hang the CPU */ | ||
| 52 | local_irq_enable(); | ||
| 53 | |||
| 50 | __asm__ __volatile__ ( | 54 | __asm__ __volatile__ ( |
| 51 | "wr %%g0, %%asr19\n" | 55 | "wr %%g0, %%asr19\n" |
| 52 | "lda [%0] %1, %%g0\n" | 56 | "lda [%0] %1, %%g0\n" |
| @@ -60,6 +64,9 @@ void pmc_leon_idle_fixup(void) | |||
| 60 | */ | 64 | */ |
| 61 | void pmc_leon_idle(void) | 65 | void pmc_leon_idle(void) |
| 62 | { | 66 | { |
| 67 | /* Interrupts need to be enabled to not hang the CPU */ | ||
| 68 | local_irq_enable(); | ||
| 69 | |||
| 63 | /* For systems without power-down, this will be no-op */ | 70 | /* For systems without power-down, this will be no-op */ |
| 64 | __asm__ __volatile__ ("wr %g0, %asr19\n\t"); | 71 | __asm__ __volatile__ ("wr %g0, %asr19\n\t"); |
| 65 | } | 72 | } |
diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c index 38bf80a22f02..1434526970a6 100644 --- a/arch/sparc/kernel/setup_32.c +++ b/arch/sparc/kernel/setup_32.c | |||
| @@ -304,7 +304,7 @@ void __init setup_arch(char **cmdline_p) | |||
| 304 | 304 | ||
| 305 | /* Initialize PROM console and command line. */ | 305 | /* Initialize PROM console and command line. */ |
| 306 | *cmdline_p = prom_getbootargs(); | 306 | *cmdline_p = prom_getbootargs(); |
| 307 | strcpy(boot_command_line, *cmdline_p); | 307 | strlcpy(boot_command_line, *cmdline_p, COMMAND_LINE_SIZE); |
| 308 | parse_early_param(); | 308 | parse_early_param(); |
| 309 | 309 | ||
| 310 | boot_flags_init(*cmdline_p); | 310 | boot_flags_init(*cmdline_p); |
diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c index 88a127b9c69e..13785547e435 100644 --- a/arch/sparc/kernel/setup_64.c +++ b/arch/sparc/kernel/setup_64.c | |||
| @@ -555,7 +555,7 @@ void __init setup_arch(char **cmdline_p) | |||
| 555 | { | 555 | { |
| 556 | /* Initialize PROM console and command line. */ | 556 | /* Initialize PROM console and command line. */ |
| 557 | *cmdline_p = prom_getbootargs(); | 557 | *cmdline_p = prom_getbootargs(); |
| 558 | strcpy(boot_command_line, *cmdline_p); | 558 | strlcpy(boot_command_line, *cmdline_p, COMMAND_LINE_SIZE); |
| 559 | parse_early_param(); | 559 | parse_early_param(); |
| 560 | 560 | ||
| 561 | boot_flags_init(*cmdline_p); | 561 | boot_flags_init(*cmdline_p); |
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index a7171997adfd..04fd55a6e461 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
| @@ -1098,7 +1098,14 @@ static int __init grab_mblocks(struct mdesc_handle *md) | |||
| 1098 | m->size = *val; | 1098 | m->size = *val; |
| 1099 | val = mdesc_get_property(md, node, | 1099 | val = mdesc_get_property(md, node, |
| 1100 | "address-congruence-offset", NULL); | 1100 | "address-congruence-offset", NULL); |
| 1101 | m->offset = *val; | 1101 | |
| 1102 | /* The address-congruence-offset property is optional. | ||
| 1103 | * Explicity zero it be identifty this. | ||
| 1104 | */ | ||
| 1105 | if (val) | ||
| 1106 | m->offset = *val; | ||
| 1107 | else | ||
| 1108 | m->offset = 0UL; | ||
| 1102 | 1109 | ||
| 1103 | numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", | 1110 | numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", |
| 1104 | count - 1, m->base, m->size, m->offset); | 1111 | count - 1, m->base, m->size, m->offset); |
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c index 83d89bcb44af..37e7bc4c95b3 100644 --- a/arch/sparc/mm/tlb.c +++ b/arch/sparc/mm/tlb.c | |||
| @@ -85,8 +85,8 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr, | |||
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | if (!tb->active) { | 87 | if (!tb->active) { |
| 88 | global_flush_tlb_page(mm, vaddr); | ||
| 89 | flush_tsb_user_page(mm, vaddr); | 88 | flush_tsb_user_page(mm, vaddr); |
| 89 | global_flush_tlb_page(mm, vaddr); | ||
| 90 | goto out; | 90 | goto out; |
| 91 | } | 91 | } |
| 92 | 92 | ||
diff --git a/arch/sparc/prom/bootstr_32.c b/arch/sparc/prom/bootstr_32.c index f5ec32e0d419..d2b49d2365e7 100644 --- a/arch/sparc/prom/bootstr_32.c +++ b/arch/sparc/prom/bootstr_32.c | |||
| @@ -23,23 +23,25 @@ prom_getbootargs(void) | |||
| 23 | return barg_buf; | 23 | return barg_buf; |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | switch(prom_vers) { | 26 | switch (prom_vers) { |
| 27 | case PROM_V0: | 27 | case PROM_V0: |
| 28 | cp = barg_buf; | 28 | cp = barg_buf; |
| 29 | /* Start from 1 and go over fd(0,0,0)kernel */ | 29 | /* Start from 1 and go over fd(0,0,0)kernel */ |
| 30 | for(iter = 1; iter < 8; iter++) { | 30 | for (iter = 1; iter < 8; iter++) { |
| 31 | arg = (*(romvec->pv_v0bootargs))->argv[iter]; | 31 | arg = (*(romvec->pv_v0bootargs))->argv[iter]; |
| 32 | if (arg == NULL) | 32 | if (arg == NULL) |
| 33 | break; | 33 | break; |
| 34 | while(*arg != 0) { | 34 | while (*arg != 0) { |
| 35 | /* Leave place for space and null. */ | 35 | /* Leave place for space and null. */ |
| 36 | if(cp >= barg_buf + BARG_LEN-2){ | 36 | if (cp >= barg_buf + BARG_LEN - 2) |
| 37 | /* We might issue a warning here. */ | 37 | /* We might issue a warning here. */ |
| 38 | break; | 38 | break; |
| 39 | } | ||
| 40 | *cp++ = *arg++; | 39 | *cp++ = *arg++; |
| 41 | } | 40 | } |
| 42 | *cp++ = ' '; | 41 | *cp++ = ' '; |
| 42 | if (cp >= barg_buf + BARG_LEN - 1) | ||
| 43 | /* We might issue a warning here. */ | ||
| 44 | break; | ||
| 43 | } | 45 | } |
| 44 | *cp = 0; | 46 | *cp = 0; |
| 45 | break; | 47 | break; |
diff --git a/arch/sparc/prom/tree_64.c b/arch/sparc/prom/tree_64.c index 92204c3800b5..bd1b2a3ac34e 100644 --- a/arch/sparc/prom/tree_64.c +++ b/arch/sparc/prom/tree_64.c | |||
| @@ -39,7 +39,7 @@ inline phandle __prom_getchild(phandle node) | |||
| 39 | return prom_node_to_node("child", node); | 39 | return prom_node_to_node("child", node); |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | inline phandle prom_getchild(phandle node) | 42 | phandle prom_getchild(phandle node) |
| 43 | { | 43 | { |
| 44 | phandle cnode; | 44 | phandle cnode; |
| 45 | 45 | ||
| @@ -72,7 +72,7 @@ inline phandle __prom_getsibling(phandle node) | |||
| 72 | return prom_node_to_node(prom_peer_name, node); | 72 | return prom_node_to_node(prom_peer_name, node); |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | inline phandle prom_getsibling(phandle node) | 75 | phandle prom_getsibling(phandle node) |
| 76 | { | 76 | { |
| 77 | phandle sibnode; | 77 | phandle sibnode; |
| 78 | 78 | ||
| @@ -89,7 +89,7 @@ EXPORT_SYMBOL(prom_getsibling); | |||
| 89 | /* Return the length in bytes of property 'prop' at node 'node'. | 89 | /* Return the length in bytes of property 'prop' at node 'node'. |
| 90 | * Return -1 on error. | 90 | * Return -1 on error. |
| 91 | */ | 91 | */ |
| 92 | inline int prom_getproplen(phandle node, const char *prop) | 92 | int prom_getproplen(phandle node, const char *prop) |
| 93 | { | 93 | { |
| 94 | unsigned long args[6]; | 94 | unsigned long args[6]; |
| 95 | 95 | ||
| @@ -113,8 +113,8 @@ EXPORT_SYMBOL(prom_getproplen); | |||
| 113 | * 'buffer' which has a size of 'bufsize'. If the acquisition | 113 | * 'buffer' which has a size of 'bufsize'. If the acquisition |
| 114 | * was successful the length will be returned, else -1 is returned. | 114 | * was successful the length will be returned, else -1 is returned. |
| 115 | */ | 115 | */ |
| 116 | inline int prom_getproperty(phandle node, const char *prop, | 116 | int prom_getproperty(phandle node, const char *prop, |
| 117 | char *buffer, int bufsize) | 117 | char *buffer, int bufsize) |
| 118 | { | 118 | { |
| 119 | unsigned long args[8]; | 119 | unsigned long args[8]; |
| 120 | int plen; | 120 | int plen; |
| @@ -141,7 +141,7 @@ EXPORT_SYMBOL(prom_getproperty); | |||
| 141 | /* Acquire an integer property and return its value. Returns -1 | 141 | /* Acquire an integer property and return its value. Returns -1 |
| 142 | * on failure. | 142 | * on failure. |
| 143 | */ | 143 | */ |
| 144 | inline int prom_getint(phandle node, const char *prop) | 144 | int prom_getint(phandle node, const char *prop) |
| 145 | { | 145 | { |
| 146 | int intprop; | 146 | int intprop; |
| 147 | 147 | ||
| @@ -235,7 +235,7 @@ static const char *prom_nextprop_name = "nextprop"; | |||
| 235 | /* Return the first property type for node 'node'. | 235 | /* Return the first property type for node 'node'. |
| 236 | * buffer should be at least 32B in length | 236 | * buffer should be at least 32B in length |
| 237 | */ | 237 | */ |
| 238 | inline char *prom_firstprop(phandle node, char *buffer) | 238 | char *prom_firstprop(phandle node, char *buffer) |
| 239 | { | 239 | { |
| 240 | unsigned long args[7]; | 240 | unsigned long args[7]; |
| 241 | 241 | ||
| @@ -261,7 +261,7 @@ EXPORT_SYMBOL(prom_firstprop); | |||
| 261 | * at node 'node' . Returns NULL string if no more | 261 | * at node 'node' . Returns NULL string if no more |
| 262 | * property types for this node. | 262 | * property types for this node. |
| 263 | */ | 263 | */ |
| 264 | inline char *prom_nextprop(phandle node, const char *oprop, char *buffer) | 264 | char *prom_nextprop(phandle node, const char *oprop, char *buffer) |
| 265 | { | 265 | { |
| 266 | unsigned long args[7]; | 266 | unsigned long args[7]; |
| 267 | char buf[32]; | 267 | char buf[32]; |
