Skip to content

Commit dae868a

Browse files
committed
Merge pull request #21 from torvalds/master
Sync up with Linus
2 parents 97bf6af + 693a30b commit dae868a

File tree

239 files changed

+2552
-2521
lines changed

Some content is hidden

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

239 files changed

+2552
-2521
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 = -rc2
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/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/um/Kconfig.common

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ config UML
33
default y
44
select HAVE_ARCH_AUDITSYSCALL
55
select HAVE_UID16
6+
select HAVE_FUTEX_CMPXCHG if FUTEX
67
select GENERIC_IRQ_SHOW
78
select GENERIC_CPU_DEVICES
89
select GENERIC_IO

arch/x86/kvm/mmu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4448,7 +4448,7 @@ void kvm_mmu_invalidate_mmio_sptes(struct kvm *kvm)
44484448
* zap all shadow pages.
44494449
*/
44504450
if (unlikely(kvm_current_mmio_generation(kvm) == 0)) {
4451-
printk_ratelimited(KERN_INFO "kvm: zapping shadow pages for mmio generation wraparound\n");
4451+
printk_ratelimited(KERN_DEBUG "kvm: zapping shadow pages for mmio generation wraparound\n");
44524452
kvm_mmu_invalidate_zap_all_pages(kvm);
44534453
}
44544454
}

0 commit comments

Comments
 (0)