Skip to content

Commit 4b0ed61

Browse files
authored
Merge pull request torvalds#108 from zandrey/5.4.x+fslc
Update 5.4.x+fslc to v5.4.60
2 parents 21c0650 + d694e02 commit 4b0ed61

File tree

435 files changed

+3206
-1819
lines changed

Some content is hidden

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

435 files changed

+3206
-1819
lines changed

Documentation/ABI/testing/sysfs-bus-iio

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1566,7 +1566,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw
15661566
KernelVersion: 4.3
15671567
Contact: linux-iio@vger.kernel.org
15681568
Description:
1569-
Raw (unscaled no offset etc.) percentage reading of a substance.
1569+
Raw (unscaled no offset etc.) reading of a substance. Units
1570+
after application of scale and offset are percents.
15701571

15711572
What: /sys/bus/iio/devices/iio:deviceX/in_resistance_raw
15721573
What: /sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw

Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ controller state. The mux controller state is described in
2121

2222
Example:
2323
mux: mux-controller {
24-
compatible = "mux-gpio";
24+
compatible = "gpio-mux";
2525
#mux-control-cells = <0>;
2626

2727
mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 4
4-
SUBLEVEL = 58
4+
SUBLEVEL = 60
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

arch/arm/boot/dts/r8a7793-gose.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@
339339
reg = <0x20>;
340340
remote = <&vin1>;
341341

342-
port {
342+
ports {
343343
#address-cells = <1>;
344344
#size-cells = <0>;
345345

@@ -399,7 +399,7 @@
399399
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
400400
default-input = <0>;
401401

402-
port {
402+
ports {
403403
#address-cells = <1>;
404404
#size-cells = <0>;
405405

arch/arm/boot/dts/sunxi-bananapi-m2-plus-v1.2.dtsi

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,27 @@
1616
regulator-type = "voltage";
1717
regulator-boot-on;
1818
regulator-always-on;
19-
regulator-min-microvolt = <1100000>;
20-
regulator-max-microvolt = <1300000>;
19+
regulator-min-microvolt = <1108475>;
20+
regulator-max-microvolt = <1308475>;
2121
regulator-ramp-delay = <50>; /* 4ms */
2222
gpios = <&r_pio 0 1 GPIO_ACTIVE_HIGH>; /* PL1 */
2323
gpios-states = <0x1>;
24-
states = <1100000 0>, <1300000 1>;
24+
states = <1108475 0>, <1308475 1>;
2525
};
2626
};
2727

2828
&cpu0 {
2929
cpu-supply = <&reg_vdd_cpux>;
3030
};
31+
32+
&cpu1 {
33+
cpu-supply = <&reg_vdd_cpux>;
34+
};
35+
36+
&cpu2 {
37+
cpu-supply = <&reg_vdd_cpux>;
38+
};
39+
40+
&cpu3 {
41+
cpu-supply = <&reg_vdd_cpux>;
42+
};

arch/arm/kernel/stacktrace.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,19 @@
2222
* A simple function epilogue looks like this:
2323
* ldm sp, {fp, sp, pc}
2424
*
25+
* When compiled with clang, pc and sp are not pushed. A simple function
26+
* prologue looks like this when built with clang:
27+
*
28+
* stmdb {..., fp, lr}
29+
* add fp, sp, #x
30+
* sub sp, sp, #y
31+
*
32+
* A simple function epilogue looks like this when built with clang:
33+
*
34+
* sub sp, fp, #x
35+
* ldm {..., fp, pc}
36+
*
37+
*
2538
* Note that with framepointer enabled, even the leaf functions have the same
2639
* prologue and epilogue, therefore we can ignore the LR value in this case.
2740
*/
@@ -34,6 +47,16 @@ int notrace unwind_frame(struct stackframe *frame)
3447
low = frame->sp;
3548
high = ALIGN(low, THREAD_SIZE);
3649

50+
#ifdef CONFIG_CC_IS_CLANG
51+
/* check current frame pointer is within bounds */
52+
if (fp < low + 4 || fp > high - 4)
53+
return -EINVAL;
54+
55+
frame->sp = frame->fp;
56+
frame->fp = *(unsigned long *)(fp);
57+
frame->pc = frame->lr;
58+
frame->lr = *(unsigned long *)(fp + 4);
59+
#else
3760
/* check current frame pointer is within bounds */
3861
if (fp < low + 12 || fp > high - 4)
3962
return -EINVAL;
@@ -42,6 +65,7 @@ int notrace unwind_frame(struct stackframe *frame)
4265
frame->fp = *(unsigned long *)(fp - 12);
4366
frame->sp = *(unsigned long *)(fp - 8);
4467
frame->pc = *(unsigned long *)(fp - 4);
68+
#endif
4569

4670
return 0;
4771
}

arch/arm/mach-at91/pm.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -592,26 +592,31 @@ static void __init at91_pm_sram_init(void)
592592
sram_pool = gen_pool_get(&pdev->dev, NULL);
593593
if (!sram_pool) {
594594
pr_warn("%s: sram pool unavailable!\n", __func__);
595-
return;
595+
goto out_put_device;
596596
}
597597

598598
sram_base = gen_pool_alloc(sram_pool, at91_pm_suspend_in_sram_sz);
599599
if (!sram_base) {
600600
pr_warn("%s: unable to alloc sram!\n", __func__);
601-
return;
601+
goto out_put_device;
602602
}
603603

604604
sram_pbase = gen_pool_virt_to_phys(sram_pool, sram_base);
605605
at91_suspend_sram_fn = __arm_ioremap_exec(sram_pbase,
606606
at91_pm_suspend_in_sram_sz, false);
607607
if (!at91_suspend_sram_fn) {
608608
pr_warn("SRAM: Could not map\n");
609-
return;
609+
goto out_put_device;
610610
}
611611

612612
/* Copy the pm suspend handler to SRAM */
613613
at91_suspend_sram_fn = fncpy(at91_suspend_sram_fn,
614614
&at91_pm_suspend_in_sram, at91_pm_suspend_in_sram_sz);
615+
return;
616+
617+
out_put_device:
618+
put_device(&pdev->dev);
619+
return;
615620
}
616621

617622
static bool __init at91_is_pm_mode_active(int pm_mode)

arch/arm/mach-exynos/mcpm-exynos.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#define EXYNOS5420_USE_L2_COMMON_UP_STATE BIT(30)
2727

2828
static void __iomem *ns_sram_base_addr __ro_after_init;
29+
static bool secure_firmware __ro_after_init;
2930

3031
/*
3132
* The common v7_exit_coherency_flush API could not be used because of the
@@ -58,15 +59,16 @@ static void __iomem *ns_sram_base_addr __ro_after_init;
5859
static int exynos_cpu_powerup(unsigned int cpu, unsigned int cluster)
5960
{
6061
unsigned int cpunr = cpu + (cluster * EXYNOS5420_CPUS_PER_CLUSTER);
62+
bool state;
6163

6264
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
6365
if (cpu >= EXYNOS5420_CPUS_PER_CLUSTER ||
6466
cluster >= EXYNOS5420_NR_CLUSTERS)
6567
return -EINVAL;
6668

67-
if (!exynos_cpu_power_state(cpunr)) {
68-
exynos_cpu_power_up(cpunr);
69-
69+
state = exynos_cpu_power_state(cpunr);
70+
exynos_cpu_power_up(cpunr);
71+
if (!state && secure_firmware) {
7072
/*
7173
* This assumes the cluster number of the big cores(Cortex A15)
7274
* is 0 and the Little cores(Cortex A7) is 1.
@@ -258,6 +260,8 @@ static int __init exynos_mcpm_init(void)
258260
return -ENOMEM;
259261
}
260262

263+
secure_firmware = exynos_secure_firmware_available();
264+
261265
/*
262266
* To increase the stability of KFC reset we need to program
263267
* the PMU SPARE3 register

arch/arm/mach-socfpga/pm.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@ static int socfpga_setup_ocram_self_refresh(void)
4949
if (!ocram_pool) {
5050
pr_warn("%s: ocram pool unavailable!\n", __func__);
5151
ret = -ENODEV;
52-
goto put_node;
52+
goto put_device;
5353
}
5454

5555
ocram_base = gen_pool_alloc(ocram_pool, socfpga_sdram_self_refresh_sz);
5656
if (!ocram_base) {
5757
pr_warn("%s: unable to alloc ocram!\n", __func__);
5858
ret = -ENOMEM;
59-
goto put_node;
59+
goto put_device;
6060
}
6161

6262
ocram_pbase = gen_pool_virt_to_phys(ocram_pool, ocram_base);
@@ -67,7 +67,7 @@ static int socfpga_setup_ocram_self_refresh(void)
6767
if (!suspend_ocram_base) {
6868
pr_warn("%s: __arm_ioremap_exec failed!\n", __func__);
6969
ret = -ENOMEM;
70-
goto put_node;
70+
goto put_device;
7171
}
7272

7373
/* Copy the code that puts DDR in self refresh to ocram */
@@ -81,6 +81,8 @@ static int socfpga_setup_ocram_self_refresh(void)
8181
if (!socfpga_sdram_self_refresh_in_ocram)
8282
ret = -EFAULT;
8383

84+
put_device:
85+
put_device(&pdev->dev);
8486
put_node:
8587
of_node_put(np);
8688

arch/arm64/boot/dts/exynos/exynos7-espresso.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
regulator-min-microvolt = <700000>;
158158
regulator-max-microvolt = <1150000>;
159159
regulator-enable-ramp-delay = <125>;
160+
regulator-always-on;
160161
};
161162

162163
ldo8_reg: LDO8 {

0 commit comments

Comments
 (0)