diff options
| -rw-r--r-- | arch/parisc/Kconfig | 1 | ||||
| -rw-r--r-- | arch/parisc/Makefile | 4 | ||||
| -rw-r--r-- | arch/parisc/include/asm/atomic.h | 4 | ||||
| -rw-r--r-- | arch/parisc/kernel/binfmt_elf32.c | 1 | ||||
| -rw-r--r-- | arch/parisc/kernel/signal.c | 1 | ||||
| -rw-r--r-- | arch/parisc/kernel/syscall_table.S | 6 | ||||
| -rw-r--r-- | arch/parisc/lib/memcpy.c | 2 | ||||
| -rw-r--r-- | drivers/input/misc/hp_sdc_rtc.c | 15 |
8 files changed, 21 insertions, 13 deletions
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index a2a47d9d6a22..a9ff712a2864 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
| @@ -5,6 +5,7 @@ config PARISC | |||
| 5 | select HAVE_FUNCTION_TRACER if 64BIT | 5 | select HAVE_FUNCTION_TRACER if 64BIT |
| 6 | select HAVE_FUNCTION_GRAPH_TRACER if 64BIT | 6 | select HAVE_FUNCTION_GRAPH_TRACER if 64BIT |
| 7 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST if 64BIT | 7 | select HAVE_FUNCTION_TRACE_MCOUNT_TEST if 64BIT |
| 8 | select ARCH_WANT_FRAME_POINTERS | ||
| 8 | select RTC_CLASS | 9 | select RTC_CLASS |
| 9 | select RTC_DRV_GENERIC | 10 | select RTC_DRV_GENERIC |
| 10 | select INIT_ALL_POSSIBLE | 11 | select INIT_ALL_POSSIBLE |
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile index ed9a14ccd066..01d95e2f0581 100644 --- a/arch/parisc/Makefile +++ b/arch/parisc/Makefile | |||
| @@ -113,12 +113,10 @@ palo: vmlinux | |||
| 113 | # Shorthands for known targets not supported by parisc, use vmlinux as default | 113 | # Shorthands for known targets not supported by parisc, use vmlinux as default |
| 114 | Image zImage bzImage: vmlinux | 114 | Image zImage bzImage: vmlinux |
| 115 | 115 | ||
| 116 | kernel_install: vmlinux | 116 | install: vmlinux |
| 117 | sh $(src)/arch/parisc/install.sh \ | 117 | sh $(src)/arch/parisc/install.sh \ |
| 118 | $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" | 118 | $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" |
| 119 | 119 | ||
| 120 | install: kernel_install modules_install | ||
| 121 | |||
| 122 | CLEAN_FILES += lifimage | 120 | CLEAN_FILES += lifimage |
| 123 | MRPROPER_FILES += palo.conf | 121 | MRPROPER_FILES += palo.conf |
| 124 | 122 | ||
diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h index af9cf30ed474..f38e1984b242 100644 --- a/arch/parisc/include/asm/atomic.h +++ b/arch/parisc/include/asm/atomic.h | |||
| @@ -115,8 +115,8 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) | |||
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | 117 | ||
| 118 | #define atomic_add(i,v) ((void)(__atomic_add_return( (i),(v)))) | 118 | #define atomic_add(i,v) ((void)(__atomic_add_return( (i),(v)))) |
| 119 | #define atomic_sub(i,v) ((void)(__atomic_add_return(-(i),(v)))) | 119 | #define atomic_sub(i,v) ((void)(__atomic_add_return(-((int) (i)),(v)))) |
| 120 | #define atomic_inc(v) ((void)(__atomic_add_return( 1,(v)))) | 120 | #define atomic_inc(v) ((void)(__atomic_add_return( 1,(v)))) |
| 121 | #define atomic_dec(v) ((void)(__atomic_add_return( -1,(v)))) | 121 | #define atomic_dec(v) ((void)(__atomic_add_return( -1,(v)))) |
| 122 | 122 | ||
diff --git a/arch/parisc/kernel/binfmt_elf32.c b/arch/parisc/kernel/binfmt_elf32.c index f61692d2b557..00dc66f9c2ba 100644 --- a/arch/parisc/kernel/binfmt_elf32.c +++ b/arch/parisc/kernel/binfmt_elf32.c | |||
| @@ -85,6 +85,7 @@ struct elf_prpsinfo32 | |||
| 85 | * could set a processor dependent flag in the thread_struct. | 85 | * could set a processor dependent flag in the thread_struct. |
| 86 | */ | 86 | */ |
| 87 | 87 | ||
| 88 | #undef SET_PERSONALITY | ||
| 88 | #define SET_PERSONALITY(ex) \ | 89 | #define SET_PERSONALITY(ex) \ |
| 89 | set_thread_flag(TIF_32BIT); \ | 90 | set_thread_flag(TIF_32BIT); \ |
| 90 | current->thread.map_base = DEFAULT_MAP_BASE32; \ | 91 | current->thread.map_base = DEFAULT_MAP_BASE32; \ |
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c index 98e9e7126565..940188d1942c 100644 --- a/arch/parisc/kernel/signal.c +++ b/arch/parisc/kernel/signal.c | |||
| @@ -242,7 +242,6 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
| 242 | unsigned long haddr, sigframe_size; | 242 | unsigned long haddr, sigframe_size; |
| 243 | int err = 0; | 243 | int err = 0; |
| 244 | #ifdef CONFIG_64BIT | 244 | #ifdef CONFIG_64BIT |
| 245 | compat_int_t compat_val; | ||
| 246 | struct compat_rt_sigframe __user * compat_frame; | 245 | struct compat_rt_sigframe __user * compat_frame; |
| 247 | compat_sigset_t compat_set; | 246 | compat_sigset_t compat_set; |
| 248 | #endif | 247 | #endif |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index 884b91b028f0..f57dc137b8dd 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
| @@ -310,10 +310,10 @@ | |||
| 310 | ENTRY_COMP(sched_getaffinity) | 310 | ENTRY_COMP(sched_getaffinity) |
| 311 | ENTRY_SAME(ni_syscall) /* set_thread_area */ | 311 | ENTRY_SAME(ni_syscall) /* set_thread_area */ |
| 312 | ENTRY_SAME(ni_syscall) /* get_thread_area */ | 312 | ENTRY_SAME(ni_syscall) /* get_thread_area */ |
| 313 | ENTRY_SAME(io_setup) /* 215 */ | 313 | ENTRY_COMP(io_setup) /* 215 */ |
| 314 | ENTRY_SAME(io_destroy) | 314 | ENTRY_SAME(io_destroy) |
| 315 | ENTRY_SAME(io_getevents) | 315 | ENTRY_COMP(io_getevents) |
| 316 | ENTRY_SAME(io_submit) | 316 | ENTRY_COMP(io_submit) |
| 317 | ENTRY_SAME(io_cancel) | 317 | ENTRY_SAME(io_cancel) |
| 318 | ENTRY_SAME(alloc_hugepages) /* 220 */ | 318 | ENTRY_SAME(alloc_hugepages) /* 220 */ |
| 319 | ENTRY_SAME(free_hugepages) | 319 | ENTRY_SAME(free_hugepages) |
diff --git a/arch/parisc/lib/memcpy.c b/arch/parisc/lib/memcpy.c index 1dbca5c31b3c..a49cc812df8a 100644 --- a/arch/parisc/lib/memcpy.c +++ b/arch/parisc/lib/memcpy.c | |||
| @@ -68,7 +68,7 @@ | |||
| 68 | DECLARE_PER_CPU(struct exception_data, exception_data); | 68 | DECLARE_PER_CPU(struct exception_data, exception_data); |
| 69 | 69 | ||
| 70 | #define preserve_branch(label) do { \ | 70 | #define preserve_branch(label) do { \ |
| 71 | volatile int dummy; \ | 71 | volatile int dummy = 0; \ |
| 72 | /* The following branch is never taken, it's just here to */ \ | 72 | /* The following branch is never taken, it's just here to */ \ |
| 73 | /* prevent gcc from optimizing away our exception code. */ \ | 73 | /* prevent gcc from optimizing away our exception code. */ \ |
| 74 | if (unlikely(dummy != dummy)) \ | 74 | if (unlikely(dummy != dummy)) \ |
diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index 0b4f54265f62..2e3334b8f82d 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c | |||
| @@ -109,7 +109,9 @@ static int hp_sdc_rtc_do_read_bbrtc (struct rtc_time *rtctm) | |||
| 109 | 109 | ||
| 110 | if (hp_sdc_enqueue_transaction(&t)) return -1; | 110 | if (hp_sdc_enqueue_transaction(&t)) return -1; |
| 111 | 111 | ||
| 112 | down_interruptible(&tsem); /* Put ourselves to sleep for results. */ | 112 | /* Put ourselves to sleep for results. */ |
| 113 | if (WARN_ON(down_interruptible(&tsem))) | ||
| 114 | return -1; | ||
| 113 | 115 | ||
| 114 | /* Check for nonpresence of BBRTC */ | 116 | /* Check for nonpresence of BBRTC */ |
| 115 | if (!((tseq[83] | tseq[90] | tseq[69] | tseq[76] | | 117 | if (!((tseq[83] | tseq[90] | tseq[69] | tseq[76] | |
| @@ -176,11 +178,16 @@ static int64_t hp_sdc_rtc_read_i8042timer (uint8_t loadcmd, int numreg) | |||
| 176 | t.seq = tseq; | 178 | t.seq = tseq; |
| 177 | t.act.semaphore = &i8042tregs; | 179 | t.act.semaphore = &i8042tregs; |
| 178 | 180 | ||
| 179 | down_interruptible(&i8042tregs); /* Sleep if output regs in use. */ | 181 | /* Sleep if output regs in use. */ |
| 182 | if (WARN_ON(down_interruptible(&i8042tregs))) | ||
| 183 | return -1; | ||
| 180 | 184 | ||
| 181 | if (hp_sdc_enqueue_transaction(&t)) return -1; | 185 | if (hp_sdc_enqueue_transaction(&t)) return -1; |
| 182 | 186 | ||
| 183 | down_interruptible(&i8042tregs); /* Sleep until results come back. */ | 187 | /* Sleep until results come back. */ |
| 188 | if (WARN_ON(down_interruptible(&i8042tregs))) | ||
| 189 | return -1; | ||
| 190 | |||
| 184 | up(&i8042tregs); | 191 | up(&i8042tregs); |
| 185 | 192 | ||
| 186 | return (tseq[5] | | 193 | return (tseq[5] | |
| @@ -276,6 +283,7 @@ static inline int hp_sdc_rtc_read_ct(struct timeval *res) { | |||
| 276 | } | 283 | } |
| 277 | 284 | ||
| 278 | 285 | ||
| 286 | #if 0 /* not used yet */ | ||
| 279 | /* Set the i8042 real-time clock */ | 287 | /* Set the i8042 real-time clock */ |
| 280 | static int hp_sdc_rtc_set_rt (struct timeval *setto) | 288 | static int hp_sdc_rtc_set_rt (struct timeval *setto) |
| 281 | { | 289 | { |
| @@ -386,6 +394,7 @@ static int hp_sdc_rtc_set_i8042timer (struct timeval *setto, uint8_t setcmd) | |||
| 386 | } | 394 | } |
| 387 | return 0; | 395 | return 0; |
| 388 | } | 396 | } |
| 397 | #endif | ||
| 389 | 398 | ||
| 390 | static ssize_t hp_sdc_rtc_read(struct file *file, char __user *buf, | 399 | static ssize_t hp_sdc_rtc_read(struct file *file, char __user *buf, |
| 391 | size_t count, loff_t *ppos) { | 400 | size_t count, loff_t *ppos) { |
