From: Stephen Rothwell Date: Mon, 17 Mar 2025 04:54:49 +0000 (+1100) Subject: next-20250303/tip X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=895f90f6f264588675368ce4ed20a226804a023a;p=users%2Fwilly%2Fpagecache.git next-20250303/tip # Conflicts: # arch/riscv/include/asm/io.h # arch/x86/kernel/paravirt.c # arch/x86/mm/pgtable.c # drivers/gpu/drm/i915/i915_pmu.c # drivers/mailbox/mailbox.c # lib/vdso/datastore.c # net/core/dev.c --- 895f90f6f264588675368ce4ed20a226804a023a diff --cc arch/riscv/Kconfig index d1eaab6b38ce9,0409be7686663..adbf9a7f42755 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@@ -112,7 -111,9 +112,8 @@@ config RISC select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW_LEVEL select GENERIC_LIB_DEVMEM_IS_ALLOWED + select GENERIC_PENDING_IRQ if SMP select GENERIC_PCI_IOMAP - select GENERIC_PTDUMP if MMU select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select GENERIC_TIME_VSYSCALL if MMU && 64BIT diff --cc arch/riscv/include/asm/io.h index 0536846db9b63,0257f4aa7ff45..a0e51840b9db4 --- a/arch/riscv/include/asm/io.h +++ b/arch/riscv/include/asm/io.h @@@ -136,8 -136,8 +136,8 @@@ __io_writes_outs(outs, u64, q, __io_pbr #include #ifdef CONFIG_MMU - #define arch_memremap_wb(addr, size) \ + #define arch_memremap_wb(addr, size, flags) \ - ((__force void *)ioremap_prot((addr), (size), _PAGE_KERNEL)) + ((__force void *)ioremap_prot((addr), (size), __pgprot(_PAGE_KERNEL))) #endif #endif /* _ASM_RISCV_IO_H */ diff --cc drivers/gpu/drm/i915/i915_pmu.c index 69a109d02116e,0ce87f188d116..e5a188ce31857 --- a/drivers/gpu/drm/i915/i915_pmu.c +++ b/drivers/gpu/drm/i915/i915_pmu.c @@@ -1155,8 -1264,8 +1155,7 @@@ void i915_pmu_register(struct drm_i915_ int ret = -ENOMEM; spin_lock_init(&pmu->lock); - hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); - pmu->timer.function = i915_sample; + hrtimer_setup(&pmu->timer, i915_sample, CLOCK_MONOTONIC, HRTIMER_MODE_REL); - pmu->cpuhp.cpu = -1; init_rc6(pmu); if (IS_DGFX(i915)) { diff --cc drivers/s390/crypto/ap_bus.c index 20cb8d272e567,62feb2c639d56..1564cd7e3f598 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@@ -2325,10 -2324,9 +2325,9 @@@ static inline int __init ap_async_init( * Setup the high resolution poll timer. * If we are running under z/VM adjust polling to z/VM polling rate. */ - if (MACHINE_IS_VM) + if (machine_is_vm()) poll_high_timeout = 1500000; - hrtimer_init(&ap_poll_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); - ap_poll_timer.function = ap_poll_timeout; + hrtimer_setup(&ap_poll_timer, ap_poll_timeout, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); queue_work(system_long_wq, &ap_scan_bus_work); diff --cc include/linux/compiler.h index 3a7a537e13a39,e80d0f04d78f4..8417028b689a2 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@@ -210,28 -210,18 +210,38 @@@ void ftrace_likely_update(struct ftrace #define __must_be_cstr(p) \ __BUILD_BUG_ON_ZERO_MSG(__annotated(p, nonstring), "must be cstr (NUL-terminated)") +/* + * Use __typeof_unqual__() when available. + * + * XXX: Remove test for __CHECKER__ once + * sparse learns about __typeof_unqual__(). + */ +#if CC_HAS_TYPEOF_UNQUAL && !defined(__CHECKER__) +# define USE_TYPEOF_UNQUAL 1 +#endif + +/* + * Define TYPEOF_UNQUAL() to use __typeof_unqual__() as typeof + * operator when available, to return an unqualified type of the exp. + */ +#if defined(USE_TYPEOF_UNQUAL) +# define TYPEOF_UNQUAL(exp) __typeof_unqual__(exp) +#else +# define TYPEOF_UNQUAL(exp) __typeof__(exp) +#endif + #endif /* __KERNEL__ */ + #if defined(CONFIG_CFI_CLANG) && !defined(__DISABLE_EXPORTS) && !defined(BUILD_VDSO) + /* + * Force a reference to the external symbol so the compiler generates + * __kcfi_typid. + */ + #define KCFI_REFERENCE(sym) __ADDRESSABLE(sym) + #else + #define KCFI_REFERENCE(sym) + #endif + /** * offset_to_ptr - convert a relative memory offset to an absolute pointer * @off: the address of the 32-bit offset value diff --cc net/core/dev.c index 6fa6ed5b57987,03a7f867c7b34..665963e477a7f --- a/net/core/dev.c +++ b/net/core/dev.c @@@ -7153,10 -7013,11 +7153,9 @@@ void netif_napi_add_weight_locked(struc INIT_LIST_HEAD(&napi->poll_list); INIT_HLIST_NODE(&napi->napi_hash_node); - hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); - napi->timer.function = napi_watchdog; + hrtimer_setup(&napi->timer, napi_watchdog, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED); - init_gro_hash(napi); + gro_init(&napi->gro); napi->skb = NULL; - INIT_LIST_HEAD(&napi->rx_list); - napi->rx_count = 0; napi->poll = poll; if (weight > NAPI_POLL_WEIGHT) netdev_err_once(dev, "%s() called with weight %d\n", __func__,