Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc: Add {open_by,name_to}_handle_at and clock_adjtime syscalls.
sparc: Implement of_iomap().
sparc: Implement of_address_to_resource().
sparc: Provide NO_IRQ definition.

+39 -4
+3
arch/sparc/include/asm/irq_32.h
··· 13 13 #define irq_canonicalize(irq) (irq) 14 14 15 15 extern void __init init_IRQ(void); 16 + 17 + #define NO_IRQ 0xffffffff 18 + 16 19 #endif
+2
arch/sparc/include/asm/irq_64.h
··· 97 97 #define __ARCH_HAS_DO_SOFTIRQ 98 98 #define ARCH_HAS_NMI_WATCHDOG 99 99 100 + #define NO_IRQ 0xffffffff 101 + 100 102 #endif
+4 -1
arch/sparc/include/asm/unistd.h
··· 400 400 #define __NR_fanotify_init 329 401 401 #define __NR_fanotify_mark 330 402 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 409 #ifdef __32bit_syscall_numbers__ 407 410 /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
+27
arch/sparc/kernel/of_device_common.c
··· 22 22 } 23 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 52 /* Take the archdata values for IOMMU, STC, and HOSTDATA found in 26 53 * BUS and propagate to all child platform_device objects. 27 54 */
+1 -1
arch/sparc/kernel/systbls_32.S
··· 83 83 /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 84 84 /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv 85 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
+2 -2
arch/sparc/kernel/systbls_64.S
··· 84 84 .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 85 85 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv 86 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 89 #endif /* CONFIG_COMPAT */ 90 90 ··· 160 160 .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 161 161 /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv 162 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