aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/parisc/Kconfig6
-rw-r--r--arch/parisc/Makefile4
-rw-r--r--arch/parisc/include/asm/signal.h8
-rw-r--r--arch/parisc/include/uapi/asm/unistd.h3
-rw-r--r--arch/parisc/kernel/drivers.c25
-rw-r--r--arch/parisc/kernel/syscall_table.S1
-rw-r--r--arch/parisc/kernel/unwind.c4
7 files changed, 17 insertions, 34 deletions
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index c480770fabcd..17526bebcbd2 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -244,11 +244,11 @@ config PARISC_PAGE_SIZE_4KB
244 244
245config PARISC_PAGE_SIZE_16KB 245config PARISC_PAGE_SIZE_16KB
246 bool "16KB" 246 bool "16KB"
247 depends on PA8X00 247 depends on PA8X00 && BROKEN
248 248
249config PARISC_PAGE_SIZE_64KB 249config PARISC_PAGE_SIZE_64KB
250 bool "64KB" 250 bool "64KB"
251 depends on PA8X00 251 depends on PA8X00 && BROKEN
252 252
253endchoice 253endchoice
254 254
@@ -347,7 +347,7 @@ config NR_CPUS
347 int "Maximum number of CPUs (2-32)" 347 int "Maximum number of CPUs (2-32)"
348 range 2 32 348 range 2 32
349 depends on SMP 349 depends on SMP
350 default "32" 350 default "4"
351 351
352endmenu 352endmenu
353 353
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index 714284ea6cc2..5ce030266e7d 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -65,10 +65,6 @@ endif
65# kernel. 65# kernel.
66cflags-y += -mdisable-fpregs 66cflags-y += -mdisable-fpregs
67 67
68# Without this, "ld -r" results in .text sections that are too big
69# (> 0x40000) for branches to reach stubs.
70cflags-y += -ffunction-sections
71
72# Use long jumps instead of long branches (needed if your linker fails to 68# Use long jumps instead of long branches (needed if your linker fails to
73# link a too big vmlinux executable). Not enabled for building modules. 69# link a too big vmlinux executable). Not enabled for building modules.
74ifdef CONFIG_MLONGCALLS 70ifdef CONFIG_MLONGCALLS
diff --git a/arch/parisc/include/asm/signal.h b/arch/parisc/include/asm/signal.h
index eeb5c8858663..715c96ba2ec8 100644
--- a/arch/parisc/include/asm/signal.h
+++ b/arch/parisc/include/asm/signal.h
@@ -21,14 +21,6 @@ typedef struct {
21 unsigned long sig[_NSIG_WORDS]; 21 unsigned long sig[_NSIG_WORDS];
22} sigset_t; 22} sigset_t;
23 23
24#ifndef __KERNEL__
25struct sigaction {
26 __sighandler_t sa_handler;
27 unsigned long sa_flags;
28 sigset_t sa_mask; /* mask last for extensibility */
29};
30#endif
31
32#include <asm/sigcontext.h> 24#include <asm/sigcontext.h>
33 25
34#endif /* !__ASSEMBLY */ 26#endif /* !__ASSEMBLY */
diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h
index 4872e77aa96b..dc77c5a51db7 100644
--- a/arch/parisc/include/uapi/asm/unistd.h
+++ b/arch/parisc/include/uapi/asm/unistd.h
@@ -364,8 +364,9 @@
364#define __NR_preadv2 (__NR_Linux + 347) 364#define __NR_preadv2 (__NR_Linux + 347)
365#define __NR_pwritev2 (__NR_Linux + 348) 365#define __NR_pwritev2 (__NR_Linux + 348)
366#define __NR_statx (__NR_Linux + 349) 366#define __NR_statx (__NR_Linux + 349)
367#define __NR_io_pgetevents (__NR_Linux + 350)
367 368
368#define __NR_Linux_syscalls (__NR_statx + 1) 369#define __NR_Linux_syscalls (__NR_io_pgetevents + 1)
369 370
370 371
371#define __IGNORE_select /* newselect */ 372#define __IGNORE_select /* newselect */
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
index e0e1c9775c32..5eb979d04b90 100644
--- a/arch/parisc/kernel/drivers.c
+++ b/arch/parisc/kernel/drivers.c
@@ -154,17 +154,14 @@ int register_parisc_driver(struct parisc_driver *driver)
154{ 154{
155 /* FIXME: we need this because apparently the sti 155 /* FIXME: we need this because apparently the sti
156 * driver can be registered twice */ 156 * driver can be registered twice */
157 if(driver->drv.name) { 157 if (driver->drv.name) {
158 printk(KERN_WARNING 158 pr_warn("BUG: skipping previously registered driver %s\n",
159 "BUG: skipping previously registered driver %s\n", 159 driver->name);
160 driver->name);
161 return 1; 160 return 1;
162 } 161 }
163 162
164 if (!driver->probe) { 163 if (!driver->probe) {
165 printk(KERN_WARNING 164 pr_warn("BUG: driver %s has no probe routine\n", driver->name);
166 "BUG: driver %s has no probe routine\n",
167 driver->name);
168 return 1; 165 return 1;
169 } 166 }
170 167
@@ -491,12 +488,9 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
491 488
492 dev = create_parisc_device(mod_path); 489 dev = create_parisc_device(mod_path);
493 if (dev->id.hw_type != HPHW_FAULTY) { 490 if (dev->id.hw_type != HPHW_FAULTY) {
494 printk(KERN_ERR "Two devices have hardware path [%s]. " 491 pr_err("Two devices have hardware path [%s]. IODC data for second device: %7phN\n"
495 "IODC data for second device: " 492 "Rearranging GSC cards sometimes helps\n",
496 "%02x%02x%02x%02x%02x%02x\n" 493 parisc_pathname(dev), iodc_data);
497 "Rearranging GSC cards sometimes helps\n",
498 parisc_pathname(dev), iodc_data[0], iodc_data[1],
499 iodc_data[3], iodc_data[4], iodc_data[5], iodc_data[6]);
500 return NULL; 494 return NULL;
501 } 495 }
502 496
@@ -528,8 +522,7 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
528 * the keyboard controller 522 * the keyboard controller
529 */ 523 */
530 if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa)) 524 if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa))
531 printk("Unable to claim HPA %lx for device %s\n", 525 pr_warn("Unable to claim HPA %lx for device %s\n", hpa, name);
532 hpa, name);
533 526
534 return dev; 527 return dev;
535} 528}
@@ -875,7 +868,7 @@ static void print_parisc_device(struct parisc_device *dev)
875 static int count; 868 static int count;
876 869
877 print_pa_hwpath(dev, hw_path); 870 print_pa_hwpath(dev, hw_path);
878 printk(KERN_INFO "%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }", 871 pr_info("%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
879 ++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type, 872 ++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
880 dev->id.hversion_rev, dev->id.hversion, dev->id.sversion); 873 dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
881 874
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
index 6308749359e4..fe3f2a49d2b1 100644
--- a/arch/parisc/kernel/syscall_table.S
+++ b/arch/parisc/kernel/syscall_table.S
@@ -445,6 +445,7 @@
445 ENTRY_COMP(preadv2) 445 ENTRY_COMP(preadv2)
446 ENTRY_COMP(pwritev2) 446 ENTRY_COMP(pwritev2)
447 ENTRY_SAME(statx) 447 ENTRY_SAME(statx)
448 ENTRY_COMP(io_pgetevents) /* 350 */
448 449
449 450
450.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b)) 451.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 143f90e2f9f3..2ef83d78eec4 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -25,7 +25,7 @@
25 25
26/* #define DEBUG 1 */ 26/* #define DEBUG 1 */
27#ifdef DEBUG 27#ifdef DEBUG
28#define dbg(x...) printk(x) 28#define dbg(x...) pr_debug(x)
29#else 29#else
30#define dbg(x...) 30#define dbg(x...)
31#endif 31#endif
@@ -182,7 +182,7 @@ int __init unwind_init(void)
182 start = (long)&__start___unwind[0]; 182 start = (long)&__start___unwind[0];
183 stop = (long)&__stop___unwind[0]; 183 stop = (long)&__stop___unwind[0];
184 184
185 printk("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n", 185 dbg("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n",
186 start, stop, 186 start, stop,
187 (stop - start) / sizeof(struct unwind_table_entry)); 187 (stop - start) / sizeof(struct unwind_table_entry));
188 188