]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
syscore: Pass context data to callbacks
authorThierry Reding <treding@nvidia.com>
Wed, 29 Oct 2025 16:33:30 +0000 (17:33 +0100)
committerThierry Reding <treding@nvidia.com>
Fri, 14 Nov 2025 09:01:52 +0000 (10:01 +0100)
commita97fbc3ee3e2a536fafaff04f21f45472db71769
treeb5a0003059f99636d57077072964cf58d48623f3
parent3a8660878839faadb4f1a6dd72c3179c1df56787
syscore: Pass context data to callbacks

Several drivers can benefit from registering per-instance data along
with the syscore operations. To achieve this, move the modifiable fields
out of the syscore_ops structure and into a separate struct syscore that
can be registered with the framework. Add a void * driver data field for
drivers to store contextual data that will be passed to the syscore ops.

Acked-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
109 files changed:
arch/arm/mach-exynos/mcpm-exynos.c
arch/arm/mach-exynos/suspend.c
arch/arm/mach-pxa/generic.h
arch/arm/mach-pxa/irq.c
arch/arm/mach-pxa/mfp-pxa2xx.c
arch/arm/mach-pxa/mfp-pxa3xx.c
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c
arch/arm/mach-pxa/pxa3xx.c
arch/arm/mach-pxa/smemc.c
arch/arm/mach-s3c/irq-pm-s3c64xx.c
arch/arm/mach-s5pv210/pm.c
arch/arm/mach-versatile/integrator_ap.c
arch/arm/mm/cache-b15-rac.c
arch/loongarch/kernel/smp.c
arch/mips/alchemy/common/dbdma.c
arch/mips/alchemy/common/irq.c
arch/mips/alchemy/common/usb.c
arch/mips/pci/pci-alchemy.c
arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/powermac/pic.c
arch/powerpc/sysdev/fsl_lbc.c
arch/powerpc/sysdev/fsl_pci.c
arch/powerpc/sysdev/ipic.c
arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/mpic_timer.c
arch/sh/mm/pmb.c
arch/x86/events/amd/ibs.c
arch/x86/hyperv/hv_init.c
arch/x86/kernel/amd_gart_64.c
arch/x86/kernel/apic/apic.c
arch/x86/kernel/apic/io_apic.c
arch/x86/kernel/cpu/aperfmperf.c
arch/x86/kernel/cpu/intel_epb.c
arch/x86/kernel/cpu/mce/core.c
arch/x86/kernel/cpu/microcode/core.c
arch/x86/kernel/cpu/mtrr/legacy.c
arch/x86/kernel/cpu/umwait.c
arch/x86/kernel/i8237.c
arch/x86/kernel/i8259.c
arch/x86/kernel/kvm.c
drivers/acpi/pci_link.c
drivers/acpi/sleep.c
drivers/base/firmware_loader/main.c
drivers/base/syscore.c
drivers/bus/mvebu-mbus.c
drivers/clk/at91/pmc.c
drivers/clk/imx/clk-vf610.c
drivers/clk/ingenic/jz4725b-cgu.c
drivers/clk/ingenic/jz4740-cgu.c
drivers/clk/ingenic/jz4755-cgu.c
drivers/clk/ingenic/jz4760-cgu.c
drivers/clk/ingenic/jz4770-cgu.c
drivers/clk/ingenic/jz4780-cgu.c
drivers/clk/ingenic/pm.c
drivers/clk/ingenic/pm.h
drivers/clk/ingenic/tcu.c
drivers/clk/ingenic/x1000-cgu.c
drivers/clk/ingenic/x1830-cgu.c
drivers/clk/mvebu/common.c
drivers/clk/rockchip/clk-rk3288.c
drivers/clk/samsung/clk-s5pv210-audss.c
drivers/clk/samsung/clk.c
drivers/clk/tegra/clk-tegra210.c
drivers/clocksource/timer-armada-370-xp.c
drivers/cpuidle/cpuidle-psci.c
drivers/gpio/gpio-mxc.c
drivers/gpio/gpio-pxa.c
drivers/gpio/gpio-sa1100.c
drivers/hv/vmbus_drv.c
drivers/iommu/amd/init.c
drivers/iommu/intel/iommu.c
drivers/irqchip/exynos-combiner.c
drivers/irqchip/irq-armada-370-xp.c
drivers/irqchip/irq-bcm7038-l1.c
drivers/irqchip/irq-gic-v3-its.c
drivers/irqchip/irq-i8259.c
drivers/irqchip/irq-imx-gpcv2.c
drivers/irqchip/irq-loongson-eiointc.c
drivers/irqchip/irq-loongson-htpic.c
drivers/irqchip/irq-loongson-htvec.c
drivers/irqchip/irq-loongson-pch-lpc.c
drivers/irqchip/irq-loongson-pch-pic.c
drivers/irqchip/irq-mchp-eic.c
drivers/irqchip/irq-mst-intc.c
drivers/irqchip/irq-mtk-cirq.c
drivers/irqchip/irq-renesas-rzg2l.c
drivers/irqchip/irq-sa11x0.c
drivers/irqchip/irq-sifive-plic.c
drivers/irqchip/irq-sun6i-r.c
drivers/irqchip/irq-tegra.c
drivers/irqchip/irq-vic.c
drivers/leds/trigger/ledtrig-cpu.c
drivers/macintosh/via-pmu.c
drivers/power/reset/sc27xx-poweroff.c
drivers/sh/clk/core.c
drivers/sh/intc/core.c
drivers/soc/bcm/brcmstb/biuctrl.c
drivers/soc/tegra/pmc.c
drivers/thermal/intel/intel_hfi.c
drivers/xen/xen-acpi-processor.c
include/linux/syscore_ops.h
kernel/cpu_pm.c
kernel/irq/generic-chip.c
kernel/irq/pm.c
kernel/printk/printk.c
kernel/time/sched_clock.c
kernel/time/timekeeping.c
virt/kvm/kvm_main.c