Skip to content

Commit 02ca789

Browse files
committed
AsoC: Phase out hybrid PCI devres
Merge series from Philipp Stanner <[email protected]>: A year ago we spent quite some work trying to get PCI into better shape. Some pci_ functions can be sometimes managed with devres, which is obviously bad. We want to provide an obvious API, where pci_ functions are never, and pcim_ functions are always managed. Thus, everyone enabling his device with pcim_enable_device() must be ported to pcim_ functions. Porting all users will later enable us to significantly simplify parts of the PCI subsystem. See here [1] for details. This patch series does that for sound. Feel free to squash the commits as you see fit. P. [1] https://elixir.bootlin.com/linux/v6.14-rc4/source/drivers/pci/devres.c#L18
2 parents fe65ce8 + 14a3fd0 commit 02ca789

File tree

263 files changed

+3646
-1505
lines changed

Some content is hidden

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

263 files changed

+3646
-1505
lines changed

Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@ Description: RO. Package current voltage in millivolt.
111111

112112
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp2_input
113113
Date: March 2025
114-
KernelVersion: 6.14
114+
KernelVersion: 6.15
115115
116116
Description: RO. Package temperature in millidegree Celsius.
117117

118118
Only supported for particular Intel Xe graphics platforms.
119119

120120
What: /sys/bus/pci/drivers/xe/.../hwmon/hwmon<i>/temp3_input
121121
Date: March 2025
122-
KernelVersion: 6.14
122+
KernelVersion: 6.15
123123
124124
Description: RO. VRAM temperature in millidegree Celsius.
125125

Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,18 @@ properties:
5656
enum:
5757
- snps,dw-apb-ssi
5858
- snps,dwc-ssi-1.01a
59-
- description: Microsemi Ocelot/Jaguar2 SoC SPI Controller
60-
items:
61-
- enum:
62-
- mscc,ocelot-spi
63-
- mscc,jaguar2-spi
64-
- const: snps,dw-apb-ssi
6559
- description: Microchip Sparx5 SoC SPI Controller
6660
const: microchip,sparx5-spi
6761
- description: Amazon Alpine SPI Controller
6862
const: amazon,alpine-dw-apb-ssi
69-
- description: Renesas RZ/N1 SPI Controller
63+
- description: Vendor controllers which use snps,dw-apb-ssi as fallback
7064
items:
71-
- const: renesas,rzn1-spi
65+
- enum:
66+
- mscc,ocelot-spi
67+
- mscc,jaguar2-spi
68+
- renesas,rzn1-spi
69+
- sophgo,sg2042-spi
70+
- thead,th1520-spi
7271
- const: snps,dw-apb-ssi
7372
- description: Intel Keem Bay SPI Controller
7473
const: intel,keembay-ssi
@@ -88,10 +87,6 @@ properties:
8887
- renesas,r9a06g032-spi # RZ/N1D
8988
- renesas,r9a06g033-spi # RZ/N1S
9089
- const: renesas,rzn1-spi # RZ/N1
91-
- description: T-HEAD TH1520 SoC SPI Controller
92-
items:
93-
- const: thead,th1520-spi
94-
- const: snps,dw-apb-ssi
9590

9691
reg:
9792
minItems: 1

Documentation/netlink/specs/ethtool.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ definitions:
8989
doc: Group of short_detected states
9090
-
9191
name: phy-upstream-type
92-
enum-name:
92+
enum-name: phy-upstream
93+
header: linux/ethtool.h
9394
type: enum
95+
name-prefix: phy-upstream
9496
entries: [ mac, phy ]
9597
-
9698
name: tcp-data-split

Makefile

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 15
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc4
5+
EXTRAVERSION = -rc5
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*
@@ -1052,13 +1052,6 @@ NOSTDINC_FLAGS += -nostdinc
10521052
# perform bounds checking.
10531053
KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
10541054

1055-
#Currently, disable -Wstringop-overflow for GCC 11, globally.
1056-
KBUILD_CFLAGS-$(CONFIG_CC_NO_STRINGOP_OVERFLOW) += $(call cc-disable-warning, stringop-overflow)
1057-
KBUILD_CFLAGS-$(CONFIG_CC_STRINGOP_OVERFLOW) += $(call cc-option, -Wstringop-overflow)
1058-
1059-
#Currently, disable -Wunterminated-string-initialization as broken
1060-
KBUILD_CFLAGS += $(call cc-disable-warning, unterminated-string-initialization)
1061-
10621055
# disable invalid "can't wrap" optimizations for signed / pointers
10631056
KBUILD_CFLAGS += -fno-strict-overflow
10641057

arch/arm64/kernel/proton-pack.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,10 +879,12 @@ static u8 spectre_bhb_loop_affected(void)
879879
static const struct midr_range spectre_bhb_k132_list[] = {
880880
MIDR_ALL_VERSIONS(MIDR_CORTEX_X3),
881881
MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
882+
{},
882883
};
883884
static const struct midr_range spectre_bhb_k38_list[] = {
884885
MIDR_ALL_VERSIONS(MIDR_CORTEX_A715),
885886
MIDR_ALL_VERSIONS(MIDR_CORTEX_A720),
887+
{},
886888
};
887889
static const struct midr_range spectre_bhb_k32_list[] = {
888890
MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),

arch/parisc/math-emu/driver.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,19 @@ handle_fpe(struct pt_regs *regs)
9797

9898
memcpy(regs->fr, frcopy, sizeof regs->fr);
9999
if (signalcode != 0) {
100-
force_sig_fault(signalcode >> 24, signalcode & 0xffffff,
101-
(void __user *) regs->iaoq[0]);
102-
return -1;
100+
int sig = signalcode >> 24;
101+
102+
if (sig == SIGFPE) {
103+
/*
104+
* Clear floating point trap bit to avoid trapping
105+
* again on the first floating-point instruction in
106+
* the userspace signal handler.
107+
*/
108+
regs->fr[0] &= ~(1ULL << 38);
109+
}
110+
force_sig_fault(sig, signalcode & 0xffffff,
111+
(void __user *) regs->iaoq[0]);
112+
return -1;
103113
}
104114

105115
return signalcode ? -1 : 0;

arch/powerpc/boot/wrapper

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,8 @@ fi
234234

235235
# suppress some warnings in recent ld versions
236236
nowarn="-z noexecstack"
237-
if ! ld_is_lld; then
238-
if [ "$LD_VERSION" -ge "$(echo 2.39 | ld_version)" ]; then
239-
nowarn="$nowarn --no-warn-rwx-segments"
240-
fi
237+
if "${CROSS}ld" -v --no-warn-rwx-segments >/dev/null 2>&1; then
238+
nowarn="$nowarn --no-warn-rwx-segments"
241239
fi
242240

243241
platformo=$object/"$platform".o

arch/powerpc/kernel/module_64.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,6 @@ static unsigned long get_stubs_size(const Elf64_Ehdr *hdr,
258258
break;
259259
}
260260
}
261-
if (i == hdr->e_shnum) {
262-
pr_err("%s: doesn't contain __patchable_function_entries.\n", me->name);
263-
return -ENOEXEC;
264-
}
265261
#endif
266262

267263
pr_debug("Looks like a total of %lu stubs, max\n", relocs);

arch/powerpc/mm/book3s64/radix_pgtable.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -976,14 +976,15 @@ int __meminit radix__vmemmap_create_mapping(unsigned long start,
976976
return 0;
977977
}
978978

979-
979+
#ifdef CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP
980980
bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap)
981981
{
982982
if (radix_enabled())
983983
return __vmemmap_can_optimize(altmap, pgmap);
984984

985985
return false;
986986
}
987+
#endif
987988

988989
int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node,
989990
unsigned long addr, unsigned long next)
@@ -1120,6 +1121,19 @@ int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, in
11201121
pmd_t *pmd;
11211122
pte_t *pte;
11221123

1124+
/*
1125+
* Make sure we align the start vmemmap addr so that we calculate
1126+
* the correct start_pfn in altmap boundary check to decided whether
1127+
* we should use altmap or RAM based backing memory allocation. Also
1128+
* the address need to be aligned for set_pte operation.
1129+
1130+
* If the start addr is already PMD_SIZE aligned we will try to use
1131+
* a pmd mapping. We don't want to be too aggressive here beacause
1132+
* that will cause more allocations in RAM. So only if the namespace
1133+
* vmemmap start addr is PMD_SIZE aligned we will use PMD mapping.
1134+
*/
1135+
1136+
start = ALIGN_DOWN(start, PAGE_SIZE);
11231137
for (addr = start; addr < end; addr = next) {
11241138
next = pmd_addr_end(addr, end);
11251139

@@ -1145,8 +1159,8 @@ int __meminit radix__vmemmap_populate(unsigned long start, unsigned long end, in
11451159
* in altmap block allocation failures, in which case
11461160
* we fallback to RAM for vmemmap allocation.
11471161
*/
1148-
if (altmap && (!IS_ALIGNED(addr, PMD_SIZE) ||
1149-
altmap_cross_boundary(altmap, addr, PMD_SIZE))) {
1162+
if (!IS_ALIGNED(addr, PMD_SIZE) || (altmap &&
1163+
altmap_cross_boundary(altmap, addr, PMD_SIZE))) {
11501164
/*
11511165
* make sure we don't create altmap mappings
11521166
* covering things outside the device.

arch/powerpc/platforms/powernv/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ config PPC_POWERNV
1717
select MMU_NOTIFIER
1818
select FORCE_SMP
1919
select ARCH_SUPPORTS_PER_VMA_LOCK
20-
select PPC_RADIX_BROADCAST_TLBIE
20+
select PPC_RADIX_BROADCAST_TLBIE if PPC_RADIX_MMU
2121
default y
2222

2323
config OPAL_PRD

0 commit comments

Comments
 (0)