Skip to content

Commit 536e0e8

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <[email protected]>
2 parents c1fad9e + 53061af commit 536e0e8

File tree

155 files changed

+1245
-716
lines changed

Some content is hidden

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

155 files changed

+1245
-716
lines changed

Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Required properties:
1313
- touchscreen-size-y : See touchscreen.txt
1414

1515
Optional properties:
16+
- firmware-name : File basename (string) for board specific firmware
1617
- touchscreen-inverted-x : See touchscreen.txt
1718
- touchscreen-inverted-y : See touchscreen.txt
1819
- touchscreen-swapped-x-y : See touchscreen.txt

Documentation/media/uapi/cec/cec-ioc-adap-g-log-addrs.rst

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ logical address types are already defined will return with error ``EBUSY``.
144144

145145
- ``flags``
146146

147-
- Flags. No flags are defined yet, so set this to 0.
147+
- Flags. See :ref:`cec-log-addrs-flags` for a list of available flags.
148148

149149
- .. row 7
150150

@@ -201,6 +201,25 @@ logical address types are already defined will return with error ``EBUSY``.
201201
give the CEC framework more information about the device type, even
202202
though the framework won't use it directly in the CEC message.
203203

204+
.. _cec-log-addrs-flags:
205+
206+
.. flat-table:: Flags for struct cec_log_addrs
207+
:header-rows: 0
208+
:stub-columns: 0
209+
:widths: 3 1 4
210+
211+
212+
- .. _`CEC-LOG-ADDRS-FL-ALLOW-UNREG-FALLBACK`:
213+
214+
- ``CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK``
215+
216+
- 1
217+
218+
- By default if no logical address of the requested type can be claimed, then
219+
it will go back to the unconfigured state. If this flag is set, then it will
220+
fallback to the Unregistered logical address. Note that if the Unregistered
221+
logical address was explicitly requested, then this flag has no effect.
222+
204223
.. _cec-versions:
205224

206225
.. flat-table:: CEC Versions

Documentation/media/uapi/cec/cec-ioc-dqevent.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,19 @@ it is guaranteed that the state did change in between the two events.
6464

6565
- ``phys_addr``
6666

67-
- The current physical address.
67+
- The current physical address. This is ``CEC_PHYS_ADDR_INVALID`` if no
68+
valid physical address is set.
6869

6970
- .. row 2
7071

7172
- __u16
7273

7374
- ``log_addr_mask``
7475

75-
- The current set of claimed logical addresses.
76+
- The current set of claimed logical addresses. This is 0 if no logical
77+
addresses are claimed or if ``phys_addr`` is ``CEC_PHYS_ADDR_INVALID``.
78+
If bit 15 is set (``1 << CEC_LOG_ADDR_UNREGISTERED``) then this device
79+
has the unregistered logical address. In that case all other bits are 0.
7680

7781

7882

MAINTAINERS

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2501,7 +2501,7 @@ S: Supported
25012501
F: kernel/bpf/
25022502

25032503
BROADCOM B44 10/100 ETHERNET DRIVER
2504-
M: Gary Zambrano <zambrano@broadcom.com>
2504+
M: Michael Chan <michael.chan@broadcom.com>
25052505
25062506
S: Supported
25072507
F: drivers/net/ethernet/broadcom/b44.*
@@ -8161,6 +8161,15 @@ S: Maintained
81618161
W: https://fedorahosted.org/dropwatch/
81628162
F: net/core/drop_monitor.c
81638163

8164+
NETWORKING [DSA]
8165+
M: Andrew Lunn <[email protected]>
8166+
M: Vivien Didelot <[email protected]>
8167+
M: Florian Fainelli <[email protected]>
8168+
S: Maintained
8169+
F: net/dsa/
8170+
F: include/net/dsa.h
8171+
F: drivers/net/dsa/
8172+
81648173
NETWORKING [GENERAL]
81658174
M: "David S. Miller" <[email protected]>
81668175
@@ -8736,7 +8745,7 @@ F: drivers/oprofile/
87368745
F: include/linux/oprofile.h
87378746

87388747
ORACLE CLUSTER FILESYSTEM 2 (OCFS2)
8739-
M: Mark Fasheh <mfasheh@suse.com>
8748+
M: Mark Fasheh <mfasheh@versity.com>
87408749
M: Joel Becker <[email protected]>
87418750
L: [email protected] (moderated for non-subscribers)
87428751
W: http://ocfs2.wiki.kernel.org

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 4
22
PATCHLEVEL = 8
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc7
4+
EXTRAVERSION = -rc8
55
NAME = Psychotic Stoned Sheep
66

77
# *DOCUMENTATION*

arch/arm64/include/asm/debug-monitors.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@
6161

6262
#define AARCH64_BREAK_KGDB_DYN_DBG \
6363
(AARCH64_BREAK_MON | (KGDB_DYN_DBG_BRK_IMM << 5))
64-
#define KGDB_DYN_BRK_INS_BYTE(x) \
65-
((AARCH64_BREAK_KGDB_DYN_DBG >> (8 * (x))) & 0xff)
6664

6765
#define CACHE_FLUSH_IS_SAFE 1
6866

arch/arm64/kernel/kgdb.c

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
* along with this program. If not, see <http://www.gnu.org/licenses/>.
2020
*/
2121

22+
#include <linux/bug.h>
2223
#include <linux/irq.h>
2324
#include <linux/kdebug.h>
2425
#include <linux/kgdb.h>
2526
#include <linux/kprobes.h>
27+
#include <asm/debug-monitors.h>
28+
#include <asm/insn.h>
2629
#include <asm/traps.h>
2730

2831
struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] = {
@@ -338,15 +341,24 @@ void kgdb_arch_exit(void)
338341
unregister_die_notifier(&kgdb_notifier);
339342
}
340343

341-
/*
342-
* ARM instructions are always in LE.
343-
* Break instruction is encoded in LE format
344-
*/
345-
struct kgdb_arch arch_kgdb_ops = {
346-
.gdb_bpt_instr = {
347-
KGDB_DYN_BRK_INS_BYTE(0),
348-
KGDB_DYN_BRK_INS_BYTE(1),
349-
KGDB_DYN_BRK_INS_BYTE(2),
350-
KGDB_DYN_BRK_INS_BYTE(3),
351-
}
352-
};
344+
struct kgdb_arch arch_kgdb_ops;
345+
346+
int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt)
347+
{
348+
int err;
349+
350+
BUILD_BUG_ON(AARCH64_INSN_SIZE != BREAK_INSTR_SIZE);
351+
352+
err = aarch64_insn_read((void *)bpt->bpt_addr, (u32 *)bpt->saved_instr);
353+
if (err)
354+
return err;
355+
356+
return aarch64_insn_write((void *)bpt->bpt_addr,
357+
(u32)AARCH64_BREAK_KGDB_DYN_DBG);
358+
}
359+
360+
int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt)
361+
{
362+
return aarch64_insn_write((void *)bpt->bpt_addr,
363+
*(u32 *)bpt->saved_instr);
364+
}

arch/arm64/kernel/smp.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,6 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle)
201201
return ret;
202202
}
203203

204-
static void smp_store_cpu_info(unsigned int cpuid)
205-
{
206-
store_cpu_topology(cpuid);
207-
numa_store_cpu_info(cpuid);
208-
}
209-
210204
/*
211205
* This is the secondary CPU boot entry. We're using this CPUs
212206
* idle thread stack, but a set of temporary page tables.
@@ -254,7 +248,7 @@ asmlinkage void secondary_start_kernel(void)
254248
*/
255249
notify_cpu_starting(cpu);
256250

257-
smp_store_cpu_info(cpu);
251+
store_cpu_topology(cpu);
258252

259253
/*
260254
* OK, now it's safe to let the boot CPU continue. Wait for
@@ -689,10 +683,13 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
689683
{
690684
int err;
691685
unsigned int cpu;
686+
unsigned int this_cpu;
692687

693688
init_cpu_topology();
694689

695-
smp_store_cpu_info(smp_processor_id());
690+
this_cpu = smp_processor_id();
691+
store_cpu_topology(this_cpu);
692+
numa_store_cpu_info(this_cpu);
696693

697694
/*
698695
* If UP is mandated by "nosmp" (which implies "maxcpus=0"), don't set
@@ -719,6 +716,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
719716
continue;
720717

721718
set_cpu_present(cpu, true);
719+
numa_store_cpu_info(cpu);
722720
}
723721
}
724722

arch/mips/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ config MIPS
6565
select ARCH_CLOCKSOURCE_DATA
6666
select HANDLE_DOMAIN_IRQ
6767
select HAVE_EXIT_THREAD
68+
select HAVE_REGS_AND_STACK_ACCESS_API
6869

6970
menu "Machine selection"
7071

arch/mips/Kconfig.debug

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -113,42 +113,6 @@ config SPINLOCK_TEST
113113
help
114114
Add several files to the debugfs to test spinlock speed.
115115

116-
if CPU_MIPSR6
117-
118-
choice
119-
prompt "Compact branch policy"
120-
default MIPS_COMPACT_BRANCHES_OPTIMAL
121-
122-
config MIPS_COMPACT_BRANCHES_NEVER
123-
bool "Never (force delay slot branches)"
124-
help
125-
Pass the -mcompact-branches=never flag to the compiler in order to
126-
force it to always emit branches with delay slots, and make no use
127-
of the compact branch instructions introduced by MIPSr6. This is
128-
useful if you suspect there may be an issue with compact branches in
129-
either the compiler or the CPU.
130-
131-
config MIPS_COMPACT_BRANCHES_OPTIMAL
132-
bool "Optimal (use where beneficial)"
133-
help
134-
Pass the -mcompact-branches=optimal flag to the compiler in order for
135-
it to make use of compact branch instructions where it deems them
136-
beneficial, and use branches with delay slots elsewhere. This is the
137-
default compiler behaviour, and should be used unless you have a
138-
reason to choose otherwise.
139-
140-
config MIPS_COMPACT_BRANCHES_ALWAYS
141-
bool "Always (force compact branches)"
142-
help
143-
Pass the -mcompact-branches=always flag to the compiler in order to
144-
force it to always emit compact branches, making no use of branch
145-
instructions with delay slots. This can result in more compact code
146-
which may be beneficial in some scenarios.
147-
148-
endchoice
149-
150-
endif # CPU_MIPSR6
151-
152116
config SCACHE_DEBUGFS
153117
bool "L2 cache debugfs entries"
154118
depends on DEBUG_FS

arch/mips/Makefile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,6 @@ endif
203203
toolchain-virt := $(call cc-option-yn,$(mips-cflags) -mvirt)
204204
cflags-$(toolchain-virt) += -DTOOLCHAIN_SUPPORTS_VIRT
205205

206-
cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_NEVER) += -mcompact-branches=never
207-
cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_OPTIMAL) += -mcompact-branches=optimal
208-
cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_ALWAYS) += -mcompact-branches=always
209-
210206
#
211207
# Firmware support
212208
#

arch/mips/ath79/clock.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ static struct clk * __init ath79_reg_ffclk(const char *name,
9696
struct clk *clk;
9797

9898
clk = clk_register_fixed_factor(NULL, name, parent_name, 0, mult, div);
99-
if (!clk)
99+
if (IS_ERR(clk))
100100
panic("failed to allocate %s clock structure", name);
101101

102102
return clk;

arch/mips/cavium-octeon/octeon-platform.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ static int __init octeon_publish_devices(void)
10591059
{
10601060
return of_platform_bus_probe(NULL, octeon_ids, NULL);
10611061
}
1062-
device_initcall(octeon_publish_devices);
1062+
arch_initcall(octeon_publish_devices);
10631063

10641064
MODULE_AUTHOR("David Daney <[email protected]>");
10651065
MODULE_LICENSE("GPL");

arch/mips/include/asm/asmmacro.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
ldc1 $f28, THREAD_FPR28(\thread)
158158
ldc1 $f30, THREAD_FPR30(\thread)
159159
ctc1 \tmp, fcr31
160+
.set pop
160161
.endm
161162

162163
.macro fpu_restore_16odd thread

arch/mips/include/asm/mach-cavium-octeon/mangle-port.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
static inline bool __should_swizzle_bits(volatile void *a)
1616
{
1717
extern const bool octeon_should_swizzle_table[];
18+
u64 did = ((u64)(uintptr_t)a >> 40) & 0xff;
1819

19-
unsigned long did = ((unsigned long)a >> 40) & 0xff;
2020
return octeon_should_swizzle_table[did];
2121
}
2222

@@ -29,7 +29,7 @@ static inline bool __should_swizzle_bits(volatile void *a)
2929

3030
#define __should_swizzle_bits(a) false
3131

32-
static inline bool __should_swizzle_addr(unsigned long p)
32+
static inline bool __should_swizzle_addr(u64 p)
3333
{
3434
/* boot bus? */
3535
return ((p >> 40) & 0xff) == 0;

arch/mips/include/asm/mach-paravirt/kernel-entry-init.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
#define CP0_EBASE $15, 1
1212

1313
.macro kernel_entry_setup
14+
#ifdef CONFIG_SMP
1415
mfc0 t0, CP0_EBASE
1516
andi t0, t0, 0x3ff # CPUNum
1617
beqz t0, 1f
1718
# CPUs other than zero goto smp_bootstrap
1819
j smp_bootstrap
20+
#endif /* CONFIG_SMP */
1921

2022
1:
2123
.endm

arch/mips/kernel/mips-r2-to-r6-emul.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,9 @@ int mipsr2_decoder(struct pt_regs *regs, u32 inst, unsigned long *fcr31)
11641164
regs->regs[31] = r31;
11651165
regs->cp0_epc = epc;
11661166
if (!used_math()) { /* First time FPU user. */
1167+
preempt_disable();
11671168
err = init_fpu();
1169+
preempt_enable();
11681170
set_used_math();
11691171
}
11701172
lose_fpu(1); /* Save FPU state for the emulator. */

arch/mips/kernel/process.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -605,14 +605,14 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
605605
return -EOPNOTSUPP;
606606

607607
/* Avoid inadvertently triggering emulation */
608-
if ((value & PR_FP_MODE_FR) && cpu_has_fpu &&
609-
!(current_cpu_data.fpu_id & MIPS_FPIR_F64))
608+
if ((value & PR_FP_MODE_FR) && raw_cpu_has_fpu &&
609+
!(raw_current_cpu_data.fpu_id & MIPS_FPIR_F64))
610610
return -EOPNOTSUPP;
611-
if ((value & PR_FP_MODE_FRE) && cpu_has_fpu && !cpu_has_fre)
611+
if ((value & PR_FP_MODE_FRE) && raw_cpu_has_fpu && !cpu_has_fre)
612612
return -EOPNOTSUPP;
613613

614614
/* FR = 0 not supported in MIPS R6 */
615-
if (!(value & PR_FP_MODE_FR) && cpu_has_fpu && cpu_has_mips_r6)
615+
if (!(value & PR_FP_MODE_FR) && raw_cpu_has_fpu && cpu_has_mips_r6)
616616
return -EOPNOTSUPP;
617617

618618
/* Proceed with the mode switch */

arch/mips/kernel/setup.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,13 @@ void __init add_memory_region(phys_addr_t start, phys_addr_t size, long type)
8787
int x = boot_mem_map.nr_map;
8888
int i;
8989

90+
/*
91+
* If the region reaches the top of the physical address space, adjust
92+
* the size slightly so that (start + size) doesn't overflow
93+
*/
94+
if (start + size - 1 == (phys_addr_t)ULLONG_MAX)
95+
--size;
96+
9097
/* Sanity check */
9198
if (start + size < start) {
9299
pr_warn("Trying to add an invalid memory region, skipped\n");

arch/mips/kernel/smp.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -322,17 +322,16 @@ asmlinkage void start_secondary(void)
322322
cpumask_set_cpu(cpu, &cpu_coherent_mask);
323323
notify_cpu_starting(cpu);
324324

325+
cpumask_set_cpu(cpu, &cpu_callin_map);
326+
synchronise_count_slave(cpu);
327+
325328
set_cpu_online(cpu, true);
326329

327330
set_cpu_sibling_map(cpu);
328331
set_cpu_core_map(cpu);
329332

330333
calculate_cpu_foreign_map();
331334

332-
cpumask_set_cpu(cpu, &cpu_callin_map);
333-
334-
synchronise_count_slave(cpu);
335-
336335
/*
337336
* irq will be enabled in ->smp_finish(), enabling it too early
338337
* is dangerous.

0 commit comments

Comments
 (0)