diff options
| -rw-r--r-- | arch/sparc/include/asm/irq_32.h | 3 | ||||
| -rw-r--r-- | arch/sparc/include/asm/irq_64.h | 2 | ||||
| -rw-r--r-- | arch/sparc/include/asm/unistd.h | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/of_device_common.c | 27 | ||||
| -rw-r--r-- | arch/sparc/kernel/systbls_32.S | 2 | ||||
| -rw-r--r-- | arch/sparc/kernel/systbls_64.S | 4 |
6 files changed, 39 insertions, 4 deletions
diff --git a/arch/sparc/include/asm/irq_32.h b/arch/sparc/include/asm/irq_32.h index cbf4801deaaf..eced3e3ebd30 100644 --- a/arch/sparc/include/asm/irq_32.h +++ b/arch/sparc/include/asm/irq_32.h | |||
| @@ -13,4 +13,7 @@ | |||
| 13 | #define irq_canonicalize(irq) (irq) | 13 | #define irq_canonicalize(irq) (irq) |
| 14 | 14 | ||
| 15 | extern void __init init_IRQ(void); | 15 | extern void __init init_IRQ(void); |
| 16 | |||
| 17 | #define NO_IRQ 0xffffffff | ||
| 18 | |||
| 16 | #endif | 19 | #endif |
diff --git a/arch/sparc/include/asm/irq_64.h b/arch/sparc/include/asm/irq_64.h index 4f09666f0798..16dcae6d56e7 100644 --- a/arch/sparc/include/asm/irq_64.h +++ b/arch/sparc/include/asm/irq_64.h | |||
| @@ -97,4 +97,6 @@ extern void *softirq_stack[NR_CPUS]; | |||
| 97 | #define __ARCH_HAS_DO_SOFTIRQ | 97 | #define __ARCH_HAS_DO_SOFTIRQ |
| 98 | #define ARCH_HAS_NMI_WATCHDOG | 98 | #define ARCH_HAS_NMI_WATCHDOG |
| 99 | 99 | ||
| 100 | #define NO_IRQ 0xffffffff | ||
| 101 | |||
| 100 | #endif | 102 | #endif |
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h index 03eb5a8f6f93..2f475d7c0b53 100644 --- a/arch/sparc/include/asm/unistd.h +++ b/arch/sparc/include/asm/unistd.h | |||
| @@ -400,8 +400,11 @@ | |||
| 400 | #define __NR_fanotify_init 329 | 400 | #define __NR_fanotify_init 329 |
| 401 | #define __NR_fanotify_mark 330 | 401 | #define __NR_fanotify_mark 330 |
| 402 | #define __NR_prlimit64 331 | 402 | #define __NR_prlimit64 331 |
| 403 | #define __NR_name_to_handle_at 332 | ||
| 404 | #define __NR_open_by_handle_at 333 | ||
| 405 | #define __NR_clock_adjtime 334 | ||
| 403 | 406 | ||
| 404 | #define NR_syscalls 332 | 407 | #define NR_syscalls 335 |
| 405 | 408 | ||
| 406 | #ifdef __32bit_syscall_numbers__ | 409 | #ifdef __32bit_syscall_numbers__ |
| 407 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, | 410 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, |
diff --git a/arch/sparc/kernel/of_device_common.c b/arch/sparc/kernel/of_device_common.c index 49ddff56cb04..cb15bbf8a201 100644 --- a/arch/sparc/kernel/of_device_common.c +++ b/arch/sparc/kernel/of_device_common.c | |||
| @@ -22,6 +22,33 @@ unsigned int irq_of_parse_and_map(struct device_node *node, int index) | |||
| 22 | } | 22 | } |
| 23 | EXPORT_SYMBOL(irq_of_parse_and_map); | 23 | EXPORT_SYMBOL(irq_of_parse_and_map); |
| 24 | 24 | ||
| 25 | int of_address_to_resource(struct device_node *node, int index, | ||
| 26 | struct resource *r) | ||
| 27 | { | ||
| 28 | struct platform_device *op = of_find_device_by_node(node); | ||
| 29 | |||
| 30 | if (!op || index >= op->num_resources) | ||
| 31 | return -EINVAL; | ||
| 32 | |||
| 33 | memcpy(r, &op->archdata.resource[index], sizeof(*r)); | ||
| 34 | return 0; | ||
| 35 | } | ||
| 36 | EXPORT_SYMBOL_GPL(of_address_to_resource); | ||
| 37 | |||
| 38 | void __iomem *of_iomap(struct device_node *node, int index) | ||
| 39 | { | ||
| 40 | struct platform_device *op = of_find_device_by_node(node); | ||
| 41 | struct resource *r; | ||
| 42 | |||
| 43 | if (!op || index >= op->num_resources) | ||
| 44 | return NULL; | ||
| 45 | |||
| 46 | r = &op->archdata.resource[index]; | ||
| 47 | |||
| 48 | return of_ioremap(r, 0, resource_size(r), (char *) r->name); | ||
| 49 | } | ||
| 50 | EXPORT_SYMBOL(of_iomap); | ||
| 51 | |||
| 25 | /* Take the archdata values for IOMMU, STC, and HOSTDATA found in | 52 | /* Take the archdata values for IOMMU, STC, and HOSTDATA found in |
| 26 | * BUS and propagate to all child platform_device objects. | 53 | * BUS and propagate to all child platform_device objects. |
| 27 | */ | 54 | */ |
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S index ec396e1916b9..4b86eaf04fe5 100644 --- a/arch/sparc/kernel/systbls_32.S +++ b/arch/sparc/kernel/systbls_32.S | |||
| @@ -83,5 +83,5 @@ sys_call_table: | |||
| 83 | /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 83 | /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 84 | /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv | 84 | /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv |
| 85 | /*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init | 85 | /*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init |
| 86 | /*330*/ .long sys_fanotify_mark, sys_prlimit64 | 86 | /*330*/ .long sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime |
| 87 | 87 | ||
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S index 8cfcaa549580..0331bafdf3a3 100644 --- a/arch/sparc/kernel/systbls_64.S +++ b/arch/sparc/kernel/systbls_64.S | |||
| @@ -84,7 +84,7 @@ sys_call_table32: | |||
| 84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv | 85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv |
| 86 | .word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init | 86 | .word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init |
| 87 | /*330*/ .word sys32_fanotify_mark, sys_prlimit64 | 87 | /*330*/ .word sys32_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime |
| 88 | 88 | ||
| 89 | #endif /* CONFIG_COMPAT */ | 89 | #endif /* CONFIG_COMPAT */ |
| 90 | 90 | ||
| @@ -160,4 +160,4 @@ sys_call_table: | |||
| 160 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 160 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 161 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv | 161 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv |
| 162 | .word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init | 162 | .word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init |
| 163 | /*330*/ .word sys_fanotify_mark, sys_prlimit64 | 163 | /*330*/ .word sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime |
