Skip to content

Commit 6210469

Browse files
committed
Merge branch 'parisc-5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pul parisc fixes from Helge Deller: "Two build error fixes, one for the soft_offline_page() parameter change and one for a specific KEXEC/KEXEC_FILE configuration, as well as a compiler and a linker warning fix" * 'parisc-5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Fix compiler warnings in debug_core.c parisc: soft_offline_page() now takes the pfn parisc: add missing __init annotation parisc: fix compilation when KEXEC=n and KEXEC_FILE=y
2 parents 62af608 + 75cf979 commit 6210469

File tree

5 files changed

+11
-10
lines changed

5 files changed

+11
-10
lines changed

arch/parisc/include/asm/cmpxchg.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,14 @@ __xchg(unsigned long x, __volatile__ void *ptr, int size)
4444
** if (((unsigned long)p & 0xf) == 0)
4545
** return __ldcw(p);
4646
*/
47-
#define xchg(ptr, x) \
48-
((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
47+
#define xchg(ptr, x) \
48+
({ \
49+
__typeof__(*(ptr)) __ret; \
50+
__typeof__(*(ptr)) _x_ = (x); \
51+
__ret = (__typeof__(*(ptr))) \
52+
__xchg((unsigned long)_x_, (ptr), sizeof(*(ptr))); \
53+
__ret; \
54+
})
4955

5056
/* bug catcher for when unsupported size is used - won't link */
5157
extern void __cmpxchg_called_with_bad_pointer(void);

arch/parisc/include/asm/kexec.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
#ifndef _ASM_PARISC_KEXEC_H
33
#define _ASM_PARISC_KEXEC_H
44

5-
#ifdef CONFIG_KEXEC
6-
75
/* Maximum physical address we can use pages from */
86
#define KEXEC_SOURCE_MEMORY_LIMIT (-1UL)
97
/* Maximum address we can reach in physical address mode */
@@ -32,6 +30,4 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
3230

3331
#endif /* __ASSEMBLY__ */
3432

35-
#endif /* CONFIG_KEXEC */
36-
3733
#endif /* _ASM_PARISC_KEXEC_H */

arch/parisc/kernel/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
3737
obj-$(CONFIG_JUMP_LABEL) += jump_label.o
3838
obj-$(CONFIG_KGDB) += kgdb.o
3939
obj-$(CONFIG_KPROBES) += kprobes.o
40-
obj-$(CONFIG_KEXEC) += kexec.o relocate_kernel.o
40+
obj-$(CONFIG_KEXEC_CORE) += kexec.o relocate_kernel.o
4141
obj-$(CONFIG_KEXEC_FILE) += kexec_file.o

arch/parisc/kernel/drivers.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,7 @@ EXPORT_SYMBOL(device_to_hwpath);
810810
static void walk_native_bus(unsigned long io_io_low, unsigned long io_io_high,
811811
struct device *parent);
812812

813-
static void walk_lower_bus(struct parisc_device *dev)
813+
static void __init walk_lower_bus(struct parisc_device *dev)
814814
{
815815
unsigned long io_io_low, io_io_high;
816816

arch/parisc/kernel/pdt.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,7 @@ static int pdt_mainloop(void *unused)
327327
((pde & PDT_ADDR_SINGLE_ERR) == 0))
328328
memory_failure(pde >> PAGE_SHIFT, 0);
329329
else
330-
soft_offline_page(
331-
pfn_to_page(pde >> PAGE_SHIFT), 0);
330+
soft_offline_page(pde >> PAGE_SHIFT, 0);
332331
#else
333332
pr_crit("PDT: memory error at 0x%lx ignored.\n"
334333
"Rebuild kernel with CONFIG_MEMORY_FAILURE=y "

0 commit comments

Comments
 (0)