Skip to content

Commit cfbe5c6

Browse files
committed
Merge branch 'rpi-4.14.y' into mtx-4.14.y
2 parents 684067e + 36612d5 commit cfbe5c6

File tree

847 files changed

+8053
-3067
lines changed

Some content is hidden

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

847 files changed

+8053
-3067
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us fix your issue
4+
5+
---
6+
7+
**Is this the right place for my bug report?**
8+
This repository contains the Linux kernel used on the Raspberry Pi. If you believe that the issue you are seeing is kernel-related, this is the right place. If not, we have other repositories for the GPU firmware at [github.com/raspberrypi/firmware](https://github.com/raspberrypi/firmware) and Raspberry Pi userland applications at [github.com/raspberrypi/userland](https://github.com/raspberrypi/userland). If you have problems with the Raspbian distribution packages, report them in the [github.com/RPi-Distro/repo](https://github.com/RPi-Distro/repo). If you simply have a question, then [the Raspberry Pi forums](https://www.raspberrypi.org/forums) are the best place to ask it.
9+
10+
**Describe the bug**
11+
Add a clear and concise description of what you think the bug is.
12+
13+
**To reproduce**
14+
List the steps required to reproduce the issue.
15+
16+
**Expected behaviour**
17+
Add a clear and concise description of what you expected to happen.
18+
19+
**Actual behaviour**
20+
Add a clear and concise description of what actually happened.
21+
22+
**System**
23+
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
24+
25+
* Which model of Raspberry Pi? e.g. Pi3B+, PiZeroW
26+
* Which OS and version (`cat /etc/rpi-issue`)?
27+
* Which firmware version (`vcgencmd version`)?
28+
* Which kernel version (`uname -a`)?
29+
30+
**Logs**
31+
If applicable, add the relevant output from `dmesg` or similar.
32+
33+
**Additional context**
34+
Add any other relevant context for the problem.

Documentation/devicetree/bindings/net/macb.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Required properties:
1010
Use "cdns,pc302-gem" for Picochip picoXcell pc302 and later devices based on
1111
the Cadence GEM, or the generic form: "cdns,gem".
1212
Use "atmel,sama5d2-gem" for the GEM IP (10/100) available on Atmel sama5d2 SoCs.
13+
Use "atmel,sama5d3-macb" for the 10/100Mbit IP available on Atmel sama5d3 SoCs.
1314
Use "atmel,sama5d3-gem" for the Gigabit IP available on Atmel sama5d3 SoCs.
1415
Use "atmel,sama5d4-gem" for the GEM IP (10/100) available on Atmel sama5d4 SoCs.
1516
Use "cdns,zynq-gem" Xilinx Zynq-7xxx SoC.

Documentation/hwmon/ina2xx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Supported chips:
3232
Datasheet: Publicly available at the Texas Instruments website
3333
http://www.ti.com/
3434

35-
Author: Lothar Felten <l-felten@ti.com>
35+
Author: Lothar Felten <lothar.felten@gmail.com>
3636

3737
Description
3838
-----------

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 4
33
PATCHLEVEL = 14
4-
SUBLEVEL = 71
4+
SUBLEVEL = 79
55
EXTRAVERSION =
66
NAME = Petit Gorille
77

@@ -487,6 +487,8 @@ CLANG_GCC_TC := --gcc-toolchain=$(GCC_TOOLCHAIN)
487487
endif
488488
KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
489489
KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
490+
KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
491+
KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
490492
endif
491493

492494
RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
@@ -721,8 +723,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, tautological-compare)
721723
# See modpost pattern 2
722724
KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
723725
KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
724-
KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
725-
KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
726726
else
727727

728728
# These warnings generated too much noise in a regular build.

arch/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,4 +965,12 @@ config REFCOUNT_FULL
965965
against various use-after-free conditions that can be used in
966966
security flaw exploits.
967967

968+
config HAVE_ARCH_COMPILER_H
969+
bool
970+
help
971+
An architecture can select this if it provides an
972+
asm/compiler.h header that should be included after
973+
linux/compiler-*.h in order to override macro definitions that those
974+
headers generally provide.
975+
968976
source "kernel/gcov/Kconfig"

arch/arc/Makefile

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,12 @@
66
# published by the Free Software Foundation.
77
#
88

9-
ifeq ($(CROSS_COMPILE),)
10-
ifndef CONFIG_CPU_BIG_ENDIAN
11-
CROSS_COMPILE := arc-linux-
12-
else
13-
CROSS_COMPILE := arceb-linux-
14-
endif
15-
endif
16-
179
KBUILD_DEFCONFIG := nsim_700_defconfig
1810

1911
cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__
2012
cflags-$(CONFIG_ISA_ARCOMPACT) += -mA7
2113
cflags-$(CONFIG_ISA_ARCV2) += -mcpu=archs
2214

23-
is_700 = $(shell $(CC) -dM -E - < /dev/null | grep -q "ARC700" && echo 1 || echo 0)
24-
25-
ifdef CONFIG_ISA_ARCOMPACT
26-
ifeq ($(is_700), 0)
27-
$(error Toolchain not configured for ARCompact builds)
28-
endif
29-
endif
30-
31-
ifdef CONFIG_ISA_ARCV2
32-
ifeq ($(is_700), 1)
33-
$(error Toolchain not configured for ARCv2 builds)
34-
endif
35-
endif
36-
3715
ifdef CONFIG_ARC_CURR_IN_REG
3816
# For a global register defintion, make sure it gets passed to every file
3917
# We had a customer reported bug where some code built in kernel was NOT using
@@ -87,7 +65,7 @@ ldflags-$(CONFIG_CPU_BIG_ENDIAN) += -EB
8765
# --build-id w/o "-marclinux". Default arc-elf32-ld is OK
8866
ldflags-$(upto_gcc44) += -marclinux
8967

90-
LIBGCC := $(shell $(CC) $(cflags-y) --print-libgcc-file-name)
68+
LIBGCC = $(shell $(CC) $(cflags-y) --print-libgcc-file-name)
9169

9270
# Modules with short calls might break for calls into builtin-kernel
9371
KBUILD_CFLAGS_MODULE += -mlong-calls -mno-millicode

arch/arc/include/asm/atomic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ static inline int atomic_fetch_##op(int i, atomic_t *v) \
8484
"1: llock %[orig], [%[ctr]] \n" \
8585
" " #asm_op " %[val], %[orig], %[i] \n" \
8686
" scond %[val], [%[ctr]] \n" \
87-
" \n" \
87+
" bnz 1b \n" \
8888
: [val] "=&r" (val), \
8989
[orig] "=&r" (orig) \
9090
: [ctr] "r" (&v->counter), \

arch/arc/kernel/process.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,26 @@ int copy_thread(unsigned long clone_flags,
241241
task_thread_info(current)->thr_ptr;
242242
}
243243

244+
245+
/*
246+
* setup usermode thread pointer #1:
247+
* when child is picked by scheduler, __switch_to() uses @c_callee to
248+
* populate usermode callee regs: this works (despite being in a kernel
249+
* function) since special return path for child @ret_from_fork()
250+
* ensures those regs are not clobbered all the way to RTIE to usermode
251+
*/
252+
c_callee->r25 = task_thread_info(p)->thr_ptr;
253+
254+
#ifdef CONFIG_ARC_CURR_IN_REG
255+
/*
256+
* setup usermode thread pointer #2:
257+
* however for this special use of r25 in kernel, __switch_to() sets
258+
* r25 for kernel needs and only in the final return path is usermode
259+
* r25 setup, from pt_regs->user_r25. So set that up as well
260+
*/
261+
c_regs->user_r25 = c_callee->r25;
262+
#endif
263+
244264
return 0;
245265
}
246266

arch/arm/boot/dts/bcm63138.dtsi

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,23 @@
106106
global_timer: timer@1e200 {
107107
compatible = "arm,cortex-a9-global-timer";
108108
reg = <0x1e200 0x20>;
109-
interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
109+
interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
110110
clocks = <&axi_clk>;
111111
};
112112

113113
local_timer: local-timer@1e600 {
114114
compatible = "arm,cortex-a9-twd-timer";
115115
reg = <0x1e600 0x20>;
116-
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
116+
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
117+
IRQ_TYPE_EDGE_RISING)>;
117118
clocks = <&axi_clk>;
118119
};
119120

120121
twd_watchdog: watchdog@1e620 {
121122
compatible = "arm,cortex-a9-twd-wdt";
122123
reg = <0x1e620 0x20>;
123-
interrupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>;
124+
interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
125+
IRQ_TYPE_LEVEL_HIGH)>;
124126
};
125127

126128
armpll: armpll {
@@ -158,7 +160,7 @@
158160
serial0: serial@600 {
159161
compatible = "brcm,bcm6345-uart";
160162
reg = <0x600 0x1b>;
161-
interrupts = <GIC_SPI 32 0>;
163+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
162164
clocks = <&periph_clk>;
163165
clock-names = "periph";
164166
status = "disabled";
@@ -167,7 +169,7 @@
167169
serial1: serial@620 {
168170
compatible = "brcm,bcm6345-uart";
169171
reg = <0x620 0x1b>;
170-
interrupts = <GIC_SPI 33 0>;
172+
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
171173
clocks = <&periph_clk>;
172174
clock-names = "periph";
173175
status = "disabled";
@@ -180,7 +182,7 @@
180182
reg = <0x2000 0x600>, <0xf0 0x10>;
181183
reg-names = "nand", "nand-int-base";
182184
status = "disabled";
183-
interrupts = <GIC_SPI 38 0>;
185+
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
184186
interrupt-names = "nand";
185187
};
186188

arch/arm/boot/dts/dra7.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1818,7 +1818,7 @@
18181818
};
18191819
};
18201820

1821-
dcan1: can@481cc000 {
1821+
dcan1: can@4ae3c000 {
18221822
compatible = "ti,dra7-d_can";
18231823
ti,hwmods = "dcan1";
18241824
reg = <0x4ae3c000 0x2000>;
@@ -1828,7 +1828,7 @@
18281828
status = "disabled";
18291829
};
18301830

1831-
dcan2: can@481d0000 {
1831+
dcan2: can@48480000 {
18321832
compatible = "ti,dra7-d_can";
18331833
ti,hwmods = "dcan2";
18341834
reg = <0x48480000 0x2000>;

arch/arm/boot/dts/imx53-qsb-common.dtsi

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,17 @@
130130
};
131131
};
132132

133+
&cpu0 {
134+
/* CPU rated to 1GHz, not 1.2GHz as per the default settings */
135+
operating-points = <
136+
/* kHz uV */
137+
166666 850000
138+
400000 900000
139+
800000 1050000
140+
1000000 1200000
141+
>;
142+
};
143+
133144
&esdhc1 {
134145
pinctrl-names = "default";
135146
pinctrl-0 = <&pinctrl_esdhc1>;

arch/arm/boot/dts/imx7d.dtsi

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,14 @@
144144
interrupt-names = "msi";
145145
#interrupt-cells = <1>;
146146
interrupt-map-mask = <0 0 0 0x7>;
147-
interrupt-map = <0 0 0 1 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
148-
<0 0 0 2 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
149-
<0 0 0 3 &intc GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
150-
<0 0 0 4 &intc GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
147+
/*
148+
* Reference manual lists pci irqs incorrectly
149+
* Real hardware ordering is same as imx6: D+MSI, C, B, A
150+
*/
151+
interrupt-map = <0 0 0 1 &intc GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
152+
<0 0 0 2 &intc GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
153+
<0 0 0 3 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
154+
<0 0 0 4 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
151155
clocks = <&clks IMX7D_PCIE_CTRL_ROOT_CLK>,
152156
<&clks IMX7D_PLL_ENET_MAIN_100M_CLK>,
153157
<&clks IMX7D_PCIE_PHY_ROOT_CLK>;

arch/arm/boot/dts/ls1021a.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
device_type = "cpu";
8585
reg = <0xf01>;
8686
clocks = <&clockgen 1 0>;
87+
#cooling-cells = <2>;
8788
};
8889
};
8990

arch/arm/boot/dts/mt7623.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
compatible = "arm,cortex-a7";
9999
reg = <0x1>;
100100
operating-points-v2 = <&cpu_opp_table>;
101+
#cooling-cells = <2>;
101102
clock-frequency = <1300000000>;
102103
};
103104

@@ -106,6 +107,7 @@
106107
compatible = "arm,cortex-a7";
107108
reg = <0x2>;
108109
operating-points-v2 = <&cpu_opp_table>;
110+
#cooling-cells = <2>;
109111
clock-frequency = <1300000000>;
110112
};
111113

@@ -114,6 +116,7 @@
114116
compatible = "arm,cortex-a7";
115117
reg = <0x3>;
116118
operating-points-v2 = <&cpu_opp_table>;
119+
#cooling-cells = <2>;
117120
clock-frequency = <1300000000>;
118121
};
119122
};

arch/arm/boot/dts/omap4-droid4-xt894.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@
314314
&mmc2 {
315315
vmmc-supply = <&vsdio>;
316316
bus-width = <8>;
317-
non-removable;
317+
ti,non-removable;
318318
};
319319

320320
&mmc3 {

arch/arm/boot/dts/overlays/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
3939
gpio-ir.dtbo \
4040
gpio-ir-tx.dtbo \
4141
gpio-key.dtbo \
42+
gpio-no-bank0-irq.dtbo \
4243
gpio-no-irq.dtbo \
4344
gpio-poweroff.dtbo \
4445
gpio-shutdown.dtbo \
@@ -50,6 +51,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
5051
hifiberry-digi-pro.dtbo \
5152
hy28a.dtbo \
5253
hy28b.dtbo \
54+
hy28b-2017.dtbo \
5355
i2c-bcm2708.dtbo \
5456
i2c-gpio.dtbo \
5557
i2c-mux.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,15 @@ Params: gpio GPIO pin to trigger on (default 3)
619619
keycode Set the key code for the button
620620

621621

622+
Name: gpio-no-bank0-irq
623+
Info: Use this overlay to disable GPIO interrupts for GPIOs in bank 0 (0-27),
624+
which can be useful for UIO drivers.
625+
N.B. Using this overlay will trigger a kernel WARN during booting, but
626+
this can safely be ignored - the system should work as expected.
627+
Load: dtoverlay=gpio-no-bank0-irq
628+
Params: <None>
629+
630+
622631
Name: gpio-no-irq
623632
Info: Use this overlay to disable all GPIO interrupts, which can be useful
624633
for user-space GPIO edge detection systems.
@@ -783,6 +792,25 @@ Params: speed Display SPI bus speed
783792
ledgpio GPIO used to control backlight
784793

785794

795+
Name: hy28b-2017
796+
Info: HY28B 2017 version - 2.8" TFT LCD Display Module by HAOYU Electronics
797+
Default values match Texy's display shield
798+
Load: dtoverlay=hy28b-2017,<param>=<val>
799+
Params: speed Display SPI bus speed
800+
801+
rotate Display rotation {0,90,180,270}
802+
803+
fps Delay between frame updates
804+
805+
debug Debug output level {0-7}
806+
807+
xohms Touchpanel sensitivity (X-plate resistance)
808+
809+
resetgpio GPIO used to reset controller
810+
811+
ledgpio GPIO used to control backlight
812+
813+
786814
Name: i2c-bcm2708
787815
Info: Fall back to the i2c_bcm2708 driver for the i2c_arm bus.
788816
Load: dtoverlay=i2c-bcm2708
@@ -1596,9 +1624,16 @@ Params: touchscreen-size-x Touchscreen X resolution (default 800)
15961624

15971625

15981626
Name: rpi-poe
1599-
Info: Raspberry Pi POE HAT
1600-
Load: dtoverlay=rpi-poe
1601-
Params: <None>
1627+
Info: Raspberry Pi PoE HAT fan
1628+
Load: dtoverlay=rpi-poe,<param>[=<val>]
1629+
Params: poe_fan_temp0 Temperature (in millicelcius) at which the fan
1630+
turns on (default 50000)
1631+
poe_fan_temp0_hyst Temperature delta (in millicelcius) at which
1632+
the fan turns off (default 5000)
1633+
poe_fan_temp1 Temperature (in millicelcius) at which the fan
1634+
speeds up (default 55000)
1635+
poe_fan_temp1_hyst Temperature delta (in millicelcius) at which
1636+
the fan slows down (default 5000)
16021637

16031638

16041639
Name: rpi-proto

0 commit comments

Comments
 (0)