Skip to content

Commit 3b6fe95

Browse files
committed
Merge branch 'topic/pci-cleanup' into for-next
2 parents 4f7946e + 5618955 commit 3b6fe95

File tree

237 files changed

+2500
-2509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+2500
-2509
lines changed

Documentation/devicetree/bindings/input/gpio-keys.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,23 @@ Optional properties:
1010
Each button (key) is represented as a sub-node of "gpio-keys":
1111
Subnode properties:
1212

13+
- gpios: OF device-tree gpio specification.
14+
- interrupts: the interrupt line for that input.
1315
- label: Descriptive name of the key.
1416
- linux,code: Keycode to emit.
1517

16-
Required mutual exclusive subnode-properties:
17-
- gpios: OF device-tree gpio specification.
18-
- interrupts: the interrupt line for that input
18+
Note that either "interrupts" or "gpios" properties can be omitted, but not
19+
both at the same time. Specifying both properties is allowed.
1920

2021
Optional subnode-properties:
2122
- linux,input-type: Specify event type this button/key generates.
2223
If not specified defaults to <1> == EV_KEY.
2324
- debounce-interval: Debouncing interval time in milliseconds.
2425
If not specified defaults to 5.
2526
- gpio-key,wakeup: Boolean, button can wake-up the system.
27+
- linux,can-disable: Boolean, indicates that button is connected
28+
to dedicated (not shared) interrupt which can be disabled to
29+
suppress events from the button.
2630

2731
Example nodes:
2832

Documentation/devicetree/bindings/input/stmpe-keypad.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Optional properties:
88
- debounce-interval : Debouncing interval time in milliseconds
99
- st,scan-count : Scanning cycles elapsed before key data is updated
1010
- st,no-autorepeat : If specified device will not autorepeat
11+
- keypad,num-rows : See ./matrix-keymap.txt
12+
- keypad,num-columns : See ./matrix-keymap.txt
1113

1214
Example:
1315

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 3
22
PATCHLEVEL = 19
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc1
4+
EXTRAVERSION = -rc3
55
NAME = Diseased Newt
66

77
# *DOCUMENTATION*

arch/arm/boot/dts/armada-370-db.dts

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -203,27 +203,3 @@
203203
compatible = "linux,spdif-dir";
204204
};
205205
};
206-
207-
&pinctrl {
208-
/*
209-
* These pins might be muxed as I2S by
210-
* the bootloader, but it conflicts
211-
* with the real I2S pins that are
212-
* muxed using i2s_pins. We must mux
213-
* those pins to a function other than
214-
* I2S.
215-
*/
216-
pinctrl-0 = <&hog_pins1 &hog_pins2>;
217-
pinctrl-names = "default";
218-
219-
hog_pins1: hog-pins1 {
220-
marvell,pins = "mpp6", "mpp8", "mpp10",
221-
"mpp12", "mpp13";
222-
marvell,function = "gpio";
223-
};
224-
225-
hog_pins2: hog-pins2 {
226-
marvell,pins = "mpp5", "mpp7", "mpp9";
227-
marvell,function = "gpo";
228-
};
229-
};

arch/arm/configs/multi_v7_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ CONFIG_USB=y
338338
CONFIG_USB_XHCI_HCD=y
339339
CONFIG_USB_XHCI_MVEBU=y
340340
CONFIG_USB_EHCI_HCD=y
341+
CONFIG_USB_EHCI_EXYNOS=y
341342
CONFIG_USB_EHCI_TEGRA=y
342343
CONFIG_USB_EHCI_HCD_STI=y
343344
CONFIG_USB_EHCI_HCD_PLATFORM=y

arch/arm/kernel/setup.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,6 +1046,15 @@ static int c_show(struct seq_file *m, void *v)
10461046
seq_printf(m, "model name\t: %s rev %d (%s)\n",
10471047
cpu_name, cpuid & 15, elf_platform);
10481048

1049+
#if defined(CONFIG_SMP)
1050+
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
1051+
per_cpu(cpu_data, i).loops_per_jiffy / (500000UL/HZ),
1052+
(per_cpu(cpu_data, i).loops_per_jiffy / (5000UL/HZ)) % 100);
1053+
#else
1054+
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
1055+
loops_per_jiffy / (500000/HZ),
1056+
(loops_per_jiffy / (5000/HZ)) % 100);
1057+
#endif
10491058
/* dump out the processor features */
10501059
seq_puts(m, "Features\t: ");
10511060

arch/arm/kernel/smp.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,18 @@ asmlinkage void secondary_start_kernel(void)
387387

388388
void __init smp_cpus_done(unsigned int max_cpus)
389389
{
390+
int cpu;
391+
unsigned long bogosum = 0;
392+
393+
for_each_online_cpu(cpu)
394+
bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy;
395+
396+
printk(KERN_INFO "SMP: Total of %d processors activated "
397+
"(%lu.%02lu BogoMIPS).\n",
398+
num_online_cpus(),
399+
bogosum / (500000/HZ),
400+
(bogosum / (5000/HZ)) % 100);
401+
390402
hyp_mode_check();
391403
}
392404

arch/arm64/configs/defconfig

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# CONFIG_LOCALVERSION_AUTO is not set
22
CONFIG_SYSVIPC=y
33
CONFIG_POSIX_MQUEUE=y
4+
CONFIG_FHANDLE=y
45
CONFIG_AUDIT=y
56
CONFIG_NO_HZ_IDLE=y
67
CONFIG_HIGH_RES_TIMERS=y
@@ -13,14 +14,12 @@ CONFIG_TASK_IO_ACCOUNTING=y
1314
CONFIG_IKCONFIG=y
1415
CONFIG_IKCONFIG_PROC=y
1516
CONFIG_LOG_BUF_SHIFT=14
16-
CONFIG_RESOURCE_COUNTERS=y
1717
CONFIG_MEMCG=y
1818
CONFIG_MEMCG_SWAP=y
1919
CONFIG_MEMCG_KMEM=y
2020
CONFIG_CGROUP_HUGETLB=y
2121
# CONFIG_UTS_NS is not set
2222
# CONFIG_IPC_NS is not set
23-
# CONFIG_PID_NS is not set
2423
# CONFIG_NET_NS is not set
2524
CONFIG_SCHED_AUTOGROUP=y
2625
CONFIG_BLK_DEV_INITRD=y
@@ -92,7 +91,6 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
9291
CONFIG_SERIAL_OF_PLATFORM=y
9392
CONFIG_VIRTIO_CONSOLE=y
9493
# CONFIG_HW_RANDOM is not set
95-
# CONFIG_HMC_DRV is not set
9694
CONFIG_SPI=y
9795
CONFIG_SPI_PL022=y
9896
CONFIG_GPIO_PL061=y
@@ -133,6 +131,8 @@ CONFIG_EXT3_FS=y
133131
CONFIG_EXT4_FS=y
134132
CONFIG_FANOTIFY=y
135133
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
134+
CONFIG_QUOTA=y
135+
CONFIG_AUTOFS4_FS=y
136136
CONFIG_FUSE_FS=y
137137
CONFIG_CUSE=y
138138
CONFIG_VFAT_FS=y
@@ -152,14 +152,15 @@ CONFIG_MAGIC_SYSRQ=y
152152
CONFIG_DEBUG_KERNEL=y
153153
CONFIG_LOCKUP_DETECTOR=y
154154
# CONFIG_SCHED_DEBUG is not set
155+
# CONFIG_DEBUG_PREEMPT is not set
155156
# CONFIG_FTRACE is not set
157+
CONFIG_KEYS=y
156158
CONFIG_SECURITY=y
157159
CONFIG_CRYPTO_ANSI_CPRNG=y
158160
CONFIG_ARM64_CRYPTO=y
159161
CONFIG_CRYPTO_SHA1_ARM64_CE=y
160162
CONFIG_CRYPTO_SHA2_ARM64_CE=y
161163
CONFIG_CRYPTO_GHASH_ARM64_CE=y
162-
CONFIG_CRYPTO_AES_ARM64_CE=y
163164
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
164165
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
165166
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y

arch/arm64/include/asm/dma-mapping.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,14 @@ static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops)
5252
dev->archdata.dma_ops = ops;
5353
}
5454

55-
static inline int set_arch_dma_coherent_ops(struct device *dev)
55+
static inline void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
56+
struct iommu_ops *iommu, bool coherent)
5657
{
57-
dev->archdata.dma_coherent = true;
58-
set_dma_ops(dev, &coherent_swiotlb_dma_ops);
59-
return 0;
58+
dev->archdata.dma_coherent = coherent;
59+
if (coherent)
60+
set_dma_ops(dev, &coherent_swiotlb_dma_ops);
6061
}
61-
#define set_arch_dma_coherent_ops set_arch_dma_coherent_ops
62+
#define arch_setup_dma_ops arch_setup_dma_ops
6263

6364
/* do not use this function in a driver */
6465
static inline bool is_device_dma_coherent(struct device *dev)

arch/arm64/include/asm/pgtable.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,6 @@ void pmdp_splitting_flush(struct vm_area_struct *vma, unsigned long address,
298298
#define pfn_pmd(pfn,prot) (__pmd(((phys_addr_t)(pfn) << PAGE_SHIFT) | pgprot_val(prot)))
299299
#define mk_pmd(page,prot) pfn_pmd(page_to_pfn(page),prot)
300300

301-
#define pmd_page(pmd) pfn_to_page(__phys_to_pfn(pmd_val(pmd) & PHYS_MASK))
302301
#define pud_write(pud) pte_write(pud_pte(pud))
303302
#define pud_pfn(pud) (((pud_val(pud) & PUD_MASK) & PHYS_MASK) >> PAGE_SHIFT)
304303

@@ -401,7 +400,7 @@ static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr)
401400
return (pmd_t *)pud_page_vaddr(*pud) + pmd_index(addr);
402401
}
403402

404-
#define pud_page(pud) pmd_page(pud_pmd(pud))
403+
#define pud_page(pud) pfn_to_page(__phys_to_pfn(pud_val(pud) & PHYS_MASK))
405404

406405
#endif /* CONFIG_ARM64_PGTABLE_LEVELS > 2 */
407406

@@ -437,6 +436,8 @@ static inline pud_t *pud_offset(pgd_t *pgd, unsigned long addr)
437436
return (pud_t *)pgd_page_vaddr(*pgd) + pud_index(addr);
438437
}
439438

439+
#define pgd_page(pgd) pfn_to_page(__phys_to_pfn(pgd_val(pgd) & PHYS_MASK))
440+
440441
#endif /* CONFIG_ARM64_PGTABLE_LEVELS > 3 */
441442

442443
#define pgd_ERROR(pgd) __pgd_error(__FILE__, __LINE__, pgd_val(pgd))

arch/arm64/kernel/suspend.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <asm/debug-monitors.h>
66
#include <asm/pgtable.h>
77
#include <asm/memory.h>
8+
#include <asm/mmu_context.h>
89
#include <asm/smp_plat.h>
910
#include <asm/suspend.h>
1011
#include <asm/tlbflush.h>
@@ -98,7 +99,18 @@ int __cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
9899
*/
99100
ret = __cpu_suspend_enter(arg, fn);
100101
if (ret == 0) {
101-
cpu_switch_mm(mm->pgd, mm);
102+
/*
103+
* We are resuming from reset with TTBR0_EL1 set to the
104+
* idmap to enable the MMU; restore the active_mm mappings in
105+
* TTBR0_EL1 unless the active_mm == &init_mm, in which case
106+
* the thread entered __cpu_suspend with TTBR0_EL1 set to
107+
* reserved TTBR0 page tables and should be restored as such.
108+
*/
109+
if (mm == &init_mm)
110+
cpu_set_reserved_ttbr0();
111+
else
112+
cpu_switch_mm(mm->pgd, mm);
113+
102114
flush_tlb_all();
103115

104116
/*

arch/ia64/include/asm/unistd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212

1313

14-
#define NR_syscalls 318 /* length of syscall table */
14+
#define NR_syscalls 319 /* length of syscall table */
1515

1616
/*
1717
* The following defines stop scripts/checksyscalls.sh from complaining about

arch/ia64/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,5 +331,6 @@
331331
#define __NR_getrandom 1339
332332
#define __NR_memfd_create 1340
333333
#define __NR_bpf 1341
334+
#define __NR_execveat 1342
334335

335336
#endif /* _UAPI_ASM_IA64_UNISTD_H */

arch/ia64/kernel/entry.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1779,6 +1779,7 @@ sys_call_table:
17791779
data8 sys_getrandom
17801780
data8 sys_memfd_create // 1340
17811781
data8 sys_bpf
1782+
data8 sys_execveat
17821783

17831784
.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
17841785
#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */

arch/nios2/kernel/cpuinfo.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ void __init setup_cpuinfo(void)
7272
cpuinfo.has_div = fcpu_has(cpu, "altr,has-div");
7373
cpuinfo.has_mul = fcpu_has(cpu, "altr,has-mul");
7474
cpuinfo.has_mulx = fcpu_has(cpu, "altr,has-mulx");
75+
cpuinfo.mmu = fcpu_has(cpu, "altr,has-mmu");
7576

7677
if (IS_ENABLED(CONFIG_NIOS2_HW_DIV_SUPPORT) && !cpuinfo.has_div)
7778
err_cpu("DIV");

arch/nios2/kernel/entry.S

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -365,30 +365,14 @@ ENTRY(ret_from_interrupt)
365365
GET_THREAD_INFO r1
366366
ldw r4, TI_PREEMPT_COUNT(r1)
367367
bne r4, r0, restore_all
368-
369-
need_resched:
370368
ldw r4, TI_FLAGS(r1) /* ? Need resched set */
371369
BTBZ r10, r4, TIF_NEED_RESCHED, restore_all
372370
ldw r4, PT_ESTATUS(sp) /* ? Interrupts off */
373371
andi r10, r4, ESTATUS_EPIE
374372
beq r10, r0, restore_all
375-
movia r4, PREEMPT_ACTIVE
376-
stw r4, TI_PREEMPT_COUNT(r1)
377-
rdctl r10, status /* enable intrs again */
378-
ori r10, r10 ,STATUS_PIE
379-
wrctl status, r10
380-
PUSH r1
381-
call schedule
382-
POP r1
383-
mov r4, r0
384-
stw r4, TI_PREEMPT_COUNT(r1)
385-
rdctl r10, status /* disable intrs */
386-
andi r10, r10, %lo(~STATUS_PIE)
387-
wrctl status, r10
388-
br need_resched
389-
#else
390-
br restore_all
373+
call preempt_schedule_irq
391374
#endif
375+
br restore_all
392376

393377
/***********************************************************************
394378
* A few syscall wrappers

arch/parisc/include/asm/ldcw.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,18 @@
3333

3434
#endif /*!CONFIG_PA20*/
3535

36-
/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*. */
36+
/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*.
37+
We don't explicitly expose that "*a" may be written as reload
38+
fails to find a register in class R1_REGS when "a" needs to be
39+
reloaded when generating 64-bit PIC code. Instead, we clobber
40+
memory to indicate to the compiler that the assembly code reads
41+
or writes to items other than those listed in the input and output
42+
operands. This may pessimize the code somewhat but __ldcw is
43+
usually used within code blocks surrounded by memory barriors. */
3744
#define __ldcw(a) ({ \
3845
unsigned __ret; \
39-
__asm__ __volatile__(__LDCW " 0(%2),%0" \
40-
: "=r" (__ret), "+m" (*(a)) : "r" (a)); \
46+
__asm__ __volatile__(__LDCW " 0(%1),%0" \
47+
: "=r" (__ret) : "r" (a) : "memory"); \
4148
__ret; \
4249
})
4350

arch/powerpc/include/asm/kexec.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ extern int overlaps_crashkernel(unsigned long start, unsigned long size);
8686
extern void reserve_crashkernel(void);
8787
extern void machine_kexec_mask_interrupts(void);
8888

89+
static inline bool kdump_in_progress(void)
90+
{
91+
return crashing_cpu >= 0;
92+
}
93+
8994
#else /* !CONFIG_KEXEC */
9095
static inline void crash_kexec_secondary(struct pt_regs *regs) { }
9196

@@ -106,6 +111,11 @@ static inline int crash_shutdown_unregister(crash_shutdown_t handler)
106111
return 0;
107112
}
108113

114+
static inline bool kdump_in_progress(void)
115+
{
116+
return false;
117+
}
118+
109119
#endif /* CONFIG_KEXEC */
110120
#endif /* ! __ASSEMBLY__ */
111121
#endif /* __KERNEL__ */

arch/powerpc/include/asm/systbl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,3 +366,4 @@ SYSCALL_SPU(seccomp)
366366
SYSCALL_SPU(getrandom)
367367
SYSCALL_SPU(memfd_create)
368368
SYSCALL_SPU(bpf)
369+
COMPAT_SYS(execveat)

arch/powerpc/include/asm/unistd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <uapi/asm/unistd.h>
1313

1414

15-
#define __NR_syscalls 362
15+
#define __NR_syscalls 363
1616

1717
#define __NR__exit __NR_exit
1818
#define NR_syscalls __NR_syscalls

arch/powerpc/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,5 +384,6 @@
384384
#define __NR_getrandom 359
385385
#define __NR_memfd_create 360
386386
#define __NR_bpf 361
387+
#define __NR_execveat 362
387388

388389
#endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */

arch/powerpc/kernel/machine_kexec_64.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ void default_machine_kexec(struct kimage *image)
330330
* using debugger IPI.
331331
*/
332332

333-
if (crashing_cpu == -1)
333+
if (!kdump_in_progress())
334334
kexec_prepare_cpus();
335335

336336
pr_debug("kexec: Starting switchover sequence.\n");

0 commit comments

Comments
 (0)