Skip to content

Commit 8057c4a

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
2 parents 0ad6411 + ff21773 commit 8057c4a

File tree

104 files changed

+999
-496
lines changed

Some content is hidden

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

104 files changed

+999
-496
lines changed

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 = 6
33
PATCHLEVEL = 12
4-
SUBLEVEL = 68
4+
SUBLEVEL = 69
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

arch/arm64/configs/defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,6 @@ CONFIG_PINCTRL_LPASS_LPI=m
635635
CONFIG_PINCTRL_SC7280_LPASS_LPI=m
636636
CONFIG_PINCTRL_SM6115_LPASS_LPI=m
637637
CONFIG_PINCTRL_SM8250_LPASS_LPI=m
638-
CONFIG_PINCTRL_SM8350_LPASS_LPI=m
639638
CONFIG_PINCTRL_SM8450_LPASS_LPI=m
640639
CONFIG_PINCTRL_SC8280XP_LPASS_LPI=m
641640
CONFIG_PINCTRL_SM8550_LPASS_LPI=m

arch/riscv/include/asm/compat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#ifndef __ASM_COMPAT_H
33
#define __ASM_COMPAT_H
44

5-
#define COMPAT_UTS_MACHINE "riscv\0\0"
5+
#define COMPAT_UTS_MACHINE "riscv32\0\0"
66

77
/*
88
* Architecture specific compatibility types

arch/x86/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ ifeq ($(CONFIG_X86_KERNEL_IBT),y)
109109
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104816
110110
#
111111
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=branch -fno-jump-tables)
112-
KBUILD_RUSTFLAGS += -Zcf-protection=branch -Zno-jump-tables
112+
KBUILD_RUSTFLAGS += -Zcf-protection=branch $(if $(call rustc-min-version,109300),-Cjump-tables=n,-Zno-jump-tables)
113113
else
114114
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
115115
endif

drivers/bluetooth/hci_ldisc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,8 @@ static int hci_uart_register_dev(struct hci_uart *hu)
685685
return err;
686686
}
687687

688+
set_bit(HCI_UART_PROTO_INIT, &hu->flags);
689+
688690
if (test_bit(HCI_UART_INIT_PENDING, &hu->hdev_flags))
689691
return 0;
690692

@@ -712,8 +714,6 @@ static int hci_uart_set_proto(struct hci_uart *hu, int id)
712714

713715
hu->proto = p;
714716

715-
set_bit(HCI_UART_PROTO_INIT, &hu->flags);
716-
717717
err = hci_uart_register_dev(hu);
718718
if (err) {
719719
return err;

drivers/gpio/gpio-pca953x.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,8 @@ static void pca953x_irq_shutdown(struct irq_data *d)
817817
clear_bit(hwirq, chip->irq_trig_fall);
818818
clear_bit(hwirq, chip->irq_trig_level_low);
819819
clear_bit(hwirq, chip->irq_trig_level_high);
820+
821+
pca953x_irq_mask(d);
820822
}
821823

822824
static void pca953x_irq_print_chip(struct irq_data *data, struct seq_file *p)

drivers/gpio/gpio-rockchip.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <linux/of.h>
1919
#include <linux/of_address.h>
2020
#include <linux/of_irq.h>
21-
#include <linux/pinctrl/consumer.h>
2221
#include <linux/pinctrl/pinconf-generic.h>
2322
#include <linux/platform_device.h>
2423
#include <linux/regmap.h>
@@ -157,12 +156,6 @@ static int rockchip_gpio_set_direction(struct gpio_chip *chip,
157156
unsigned long flags;
158157
u32 data = input ? 0 : 1;
159158

160-
161-
if (input)
162-
pinctrl_gpio_direction_input(chip, offset);
163-
else
164-
pinctrl_gpio_direction_output(chip, offset);
165-
166159
raw_spin_lock_irqsave(&bank->slock, flags);
167160
rockchip_gpio_writel_bit(bank, offset, data, bank->gpio_regs->port_ddr);
168161
raw_spin_unlock_irqrestore(&bank->slock, flags);
@@ -584,7 +577,6 @@ static int rockchip_gpiolib_register(struct rockchip_pin_bank *bank)
584577
gc->ngpio = bank->nr_pins;
585578
gc->label = bank->name;
586579
gc->parent = bank->dev;
587-
gc->can_sleep = true;
588580

589581
ret = gpiochip_add_data(gc, bank);
590582
if (ret) {

drivers/gpio/gpio-virtuser.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,10 +1738,10 @@ static void gpio_virtuser_device_config_group_release(struct config_item *item)
17381738
{
17391739
struct gpio_virtuser_device *dev = to_gpio_virtuser_device(item);
17401740

1741-
guard(mutex)(&dev->lock);
1742-
1743-
if (gpio_virtuser_device_is_live(dev))
1744-
gpio_virtuser_device_deactivate(dev);
1741+
scoped_guard(mutex, &dev->lock) {
1742+
if (gpio_virtuser_device_is_live(dev))
1743+
gpio_virtuser_device_deactivate(dev);
1744+
}
17451745

17461746
mutex_destroy(&dev->lock);
17471747
ida_free(&gpio_virtuser_ida, dev->id);

drivers/gpio/gpiolib-acpi-core.c

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,7 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address,
10941094
unsigned int pin = agpio->pin_table[i];
10951095
struct acpi_gpio_connection *conn;
10961096
struct gpio_desc *desc;
1097+
u16 word, shift;
10971098
bool found;
10981099

10991100
mutex_lock(&achip->conn_lock);
@@ -1148,10 +1149,22 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address,
11481149

11491150
mutex_unlock(&achip->conn_lock);
11501151

1151-
if (function == ACPI_WRITE)
1152-
gpiod_set_raw_value_cansleep(desc, !!(*value & BIT(i)));
1153-
else
1154-
*value |= (u64)gpiod_get_raw_value_cansleep(desc) << i;
1152+
/*
1153+
* For the cases when OperationRegion() consists of more than
1154+
* 64 bits calculate the word and bit shift to use that one to
1155+
* access the value.
1156+
*/
1157+
word = i / 64;
1158+
shift = i % 64;
1159+
1160+
if (function == ACPI_WRITE) {
1161+
gpiod_set_raw_value_cansleep(desc, value[word] & BIT_ULL(shift));
1162+
} else {
1163+
if (gpiod_get_raw_value_cansleep(desc))
1164+
value[word] |= BIT_ULL(shift);
1165+
else
1166+
value[word] &= ~BIT_ULL(shift);
1167+
}
11551168
}
11561169

11571170
out:

drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,13 @@ void amdgpu_gmc_filter_faults_remove(struct amdgpu_device *adev, uint64_t addr,
482482

483483
if (adev->irq.retry_cam_enabled)
484484
return;
485+
else if (adev->irq.ih1.ring_size)
486+
ih = &adev->irq.ih1;
487+
else if (adev->irq.ih_soft.enabled)
488+
ih = &adev->irq.ih_soft;
489+
else
490+
return;
485491

486-
ih = &adev->irq.ih1;
487492
/* Get the WPTR of the last entry in IH ring */
488493
last_wptr = amdgpu_ih_get_wptr(adev, ih);
489494
/* Order wptr with ring data. */

0 commit comments

Comments
 (0)