Linux 6.1.88
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.1.88 kernel.
All users of the 6.1 kernel series must upgrade.
The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/admin-guide/kernel-parameters.txt | 3 MAINTAINERS | 2 Makefile | 2 arch/arm/mach-omap2/board-n8x0.c | 5 arch/arm/mach-omap2/common-board-devices.h | 2 arch/arm/mach-omap2/pdata-quirks.c | 11 arch/arm64/mm/pageattr.c | 3 arch/x86/boot/Makefile | 2 arch/x86/boot/compressed/Makefile | 2 arch/x86/boot/compressed/misc.c | 1 arch/x86/boot/compressed/sev.c | 3 arch/x86/boot/compressed/vmlinux.lds.S | 6 arch/x86/boot/header.S | 211 arch/x86/boot/setup.ld | 14 arch/x86/boot/tools/build.c | 273 arch/x86/include/asm/boot.h | 1 arch/x86/include/asm/init.h | 2 arch/x86/include/asm/kvm_host.h | 1 arch/x86/include/asm/mem_encrypt.h | 8 arch/x86/include/asm/page_types.h | 12 arch/x86/include/asm/sev.h | 10 arch/x86/kernel/amd_gart_64.c | 2 arch/x86/kernel/cpu/bugs.c | 11 arch/x86/kernel/cpu/cpuid-deps.c | 6 arch/x86/kernel/head64.c | 7 arch/x86/kernel/platform-quirks.c | 1 arch/x86/kernel/sev-shared.c | 23 arch/x86/kernel/sev.c | 11 arch/x86/kvm/cpuid.c | 1 arch/x86/kvm/cpuid.h | 10 arch/x86/kvm/lapic.c | 3 arch/x86/kvm/mmu/mmu.c | 2 arch/x86/kvm/vmx/vmx.c | 24 arch/x86/kvm/x86.c | 2 arch/x86/mm/mem_encrypt_boot.S | 4 arch/x86/mm/mem_encrypt_identity.c | 58 arch/x86/mm/pat/set_memory.c | 6 arch/x86/mm/pti.c | 2 drivers/accessibility/speakup/main.c | 2 drivers/android/binder.c | 4 drivers/char/random.c | 10 drivers/clk/clk.c | 201 drivers/clk/mediatek/clk-gate.c | 23 drivers/clk/mediatek/clk-gate.h | 7 drivers/clk/mediatek/clk-mt2701-aud.c | 4 drivers/clk/mediatek/clk-mt2701-eth.c | 4 drivers/clk/mediatek/clk-mt2701-g3d.c | 2 drivers/clk/mediatek/clk-mt2701-hif.c | 4 drivers/clk/mediatek/clk-mt2701-mm.c | 4 drivers/clk/mediatek/clk-mt2701.c | 22 drivers/clk/mediatek/clk-mt2712-mm.c | 4 drivers/clk/mediatek/clk-mt2712.c | 24 drivers/clk/mediatek/clk-mt6765.c | 13 drivers/clk/mediatek/clk-mt6779-mm.c | 4 drivers/clk/mediatek/clk-mt6779.c | 21 drivers/clk/mediatek/clk-mt6795-infracfg.c | 3 drivers/clk/mediatek/clk-mt6795-mm.c | 3 drivers/clk/mediatek/clk-mt6795-pericfg.c | 6 drivers/clk/mediatek/clk-mt6795-topckgen.c | 6 drivers/clk/mediatek/clk-mt6797-mm.c | 4 drivers/clk/mediatek/clk-mt6797.c | 7 drivers/clk/mediatek/clk-mt7622-aud.c | 4 drivers/clk/mediatek/clk-mt7622-eth.c | 8 drivers/clk/mediatek/clk-mt7622-hif.c | 8 drivers/clk/mediatek/clk-mt7622.c | 22 drivers/clk/mediatek/clk-mt7629-eth.c | 7 drivers/clk/mediatek/clk-mt7629-hif.c | 8 drivers/clk/mediatek/clk-mt7629.c | 18 drivers/clk/mediatek/clk-mt7986-eth.c | 10 drivers/clk/mediatek/clk-mt7986-infracfg.c | 7 drivers/clk/mediatek/clk-mt7986-topckgen.c | 3 drivers/clk/mediatek/clk-mt8135.c | 18 drivers/clk/mediatek/clk-mt8167-aud.c | 2 drivers/clk/mediatek/clk-mt8167-img.c | 2 drivers/clk/mediatek/clk-mt8167-mfgcfg.c | 2 drivers/clk/mediatek/clk-mt8167-mm.c | 4 drivers/clk/mediatek/clk-mt8167-vdec.c | 3 drivers/clk/mediatek/clk-mt8167.c | 12 drivers/clk/mediatek/clk-mt8173-mm.c | 4 drivers/clk/mediatek/clk-mt8173.c | 34 drivers/clk/mediatek/clk-mt8183-audio.c | 4 drivers/clk/mediatek/clk-mt8183-mm.c | 4 drivers/clk/mediatek/clk-mt8183.c | 36 drivers/clk/mediatek/clk-mt8186-mcu.c | 3 drivers/clk/mediatek/clk-mt8186-mm.c | 3 drivers/clk/mediatek/clk-mt8186-topckgen.c | 9 drivers/clk/mediatek/clk-mt8192-aud.c | 3 drivers/clk/mediatek/clk-mt8192-mm.c | 3 drivers/clk/mediatek/clk-mt8192.c | 90 drivers/clk/mediatek/clk-mt8195-apmixedsys.c | 3 drivers/clk/mediatek/clk-mt8195-topckgen.c | 9 drivers/clk/mediatek/clk-mt8195-vdo0.c | 3 drivers/clk/mediatek/clk-mt8195-vdo1.c | 3 drivers/clk/mediatek/clk-mt8365-mm.c | 5 drivers/clk/mediatek/clk-mt8365.c | 14 drivers/clk/mediatek/clk-mt8516-aud.c | 2 drivers/clk/mediatek/clk-mt8516.c | 12 drivers/clk/mediatek/clk-mtk.c | 127 drivers/clk/mediatek/clk-mtk.h | 13 drivers/clk/mediatek/clk-mux.c | 14 drivers/clk/mediatek/clk-mux.h | 3 drivers/comedi/drivers/vmk80xx.c | 35 drivers/firmware/efi/libstub/Makefile | 7 drivers/firmware/efi/libstub/x86-stub.c | 58 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 72 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 78 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_optc.c | 3 drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 drivers/gpu/drm/i915/i915_vma.c | 42 drivers/gpu/drm/nouveau/nouveau_bios.c | 13 drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c | 7 drivers/gpu/drm/panel/panel-visionox-rm69299.c | 2 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 11 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 11 drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 4 drivers/hid/hid-ids.h | 2 drivers/hid/hid-kye.c | 62 drivers/hid/hid-quirks.c | 6 drivers/infiniband/core/cm.c | 11 drivers/infiniband/hw/mlx5/mad.c | 3 drivers/infiniband/sw/rxe/rxe.c | 2 drivers/misc/mei/pci-me.c | 2 drivers/net/dsa/mt7530.c | 58 drivers/net/dsa/mt7530.h | 6 drivers/net/ethernet/intel/ice/ice_tc_lib.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 27 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 4 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 18 drivers/net/tun.c | 18 drivers/net/usb/ax88179_178a.c | 4 drivers/pci/bus.c | 49 drivers/pci/pci.c | 78 drivers/pci/pci.h | 4 drivers/pci/pcie/aspm.c | 21 drivers/pci/pcie/dpc.c | 5 drivers/pci/quirks.c | 68 drivers/pci/switch/switchtec.c | 158 drivers/s390/cio/device.c | 13 drivers/s390/cio/qdio_main.c | 28 drivers/thunderbolt/quirks.c | 2 drivers/thunderbolt/switch.c | 48 drivers/thunderbolt/tb.c | 4 drivers/thunderbolt/tb.h | 3 drivers/thunderbolt/usb4.c | 13 drivers/tty/serial/mxs-auart.c | 8 drivers/tty/serial/pmac_zilog.c | 14 drivers/tty/serial/stm32-usart.c | 13 drivers/usb/class/cdc-wdm.c | 6 drivers/usb/core/hub.c | 15 drivers/usb/core/port.c | 4 drivers/usb/core/quirks.c | 7 drivers/usb/dwc2/hcd_ddma.c | 4 drivers/usb/gadget/function/f_ncm.c | 4 drivers/usb/host/pci-quirks.c | 4 drivers/usb/host/xhci-mem.c | 2 drivers/usb/host/xhci-ring.c | 11 drivers/usb/host/xhci.c | 23 drivers/usb/host/xhci.h | 9 drivers/usb/serial/option.c | 40 fs/nilfs2/dir.c | 2 fs/smb/common/smb2pdu.h | 2 fs/smb/server/server.c | 13 fs/smb/server/smb2pdu.c | 4 fs/smb/server/vfs.c | 5 fs/sysfs/file.c | 2 include/linux/bootconfig.h | 7 include/linux/pci.h | 5 include/linux/pci_ids.h | 2 include/linux/switchtec.h | 1 include/linux/usb/hcd.h | 5 include/linux/usb/quirks.h | 3 include/net/dsa.h | 8 include/net/netfilter/nf_flow_table.h | 12 include/trace/events/rpcgss.h | 4 include/uapi/linux/pci_regs.h | 1 init/main.c | 2 io_uring/io_uring.c | 16 lib/bootconfig.c | 19 mm/memory-failure.c | 18 net/bridge/br_input.c | 15 net/bridge/br_netfilter_hooks.c | 6 net/bridge/br_private.h | 1 net/bridge/netfilter/nf_conntrack_bridge.c | 14 net/dsa/dsa2.c | 24 net/netfilter/nf_flow_table_inet.c | 3 net/netfilter/nf_flow_table_ip.c | 10 net/netfilter/nf_tables_api.c | 16 net/netfilter/nft_set_pipapo.c | 14 net/unix/af_unix.c | 12 sound/pci/hda/patch_realtek.c | 1 sound/soc/ti/omap3pandora.c | 63 sound/usb/Makefile | 2 sound/usb/mixer_quirks.c | 9 sound/usb/mixer_scarlett2.c | 4391 ++++++++++ sound/usb/mixer_scarlett2.h | 7 sound/usb/mixer_scarlett_gen2.c | 4274 --------- sound/usb/mixer_scarlett_gen2.h | 7 tools/testing/selftests/ftrace/test.d/event/subsystem-enable.tc | 6 198 files changed, 6276 insertions(+), 5630 deletions(-)
Ai Chao (1):
ALSA: hda/realtek - Enable audio jacks of Haier Boyue G42 with ALC269VC
Alan Stern (1):
fs: sysfs: Fix reference leak in sysfs_break_active_protection()
Alexander Usyskin (1):
mei: me: disable RPL-S on SPS and IGN firmwares
Alexey Izbyshev (1):
io_uring: Fix io_cqring_wait() not restoring sigmask on get_timespec64() failure
Alvaro Karsz (1):
PCI: Avoid FLR for SolidRun SNET DPU rev 1
AngeloGioacchino Del Regno (6):
clk: mediatek: mt8192: Correctly unregister and free clocks on failure
clk: mediatek: mt8192: Propagate struct device for gate clocks
clk: mediatek: clk-gate: Propagate struct device with mtk_clk_register_gates()
clk: mediatek: clk-mtk: Propagate struct device for composites
clk: mediatek: clk-mux: Propagate struct device for mtk-mux
clk: mediatek: clk-mtk: Extend mtk_clk_simple_probe()
Ard Biesheuvel (20):
x86/efi: Drop EFI stub .bss from .data section
x86/efi: Disregard setup header of loaded image x86/efistub: Reinstate soft limit for initrd loading x86/efi: Drop alignment flags from PE section headers x86/boot: Remove the 'bugger off' message
x86/boot: Omit compression buffer from PE/COFF image memory footprint x86/boot: Drop redundant code setting the root device x86/boot: Drop references to startup_64
x86/boot: Grab kernel_info offset from zoffset header directly x86/boot: Set EFI handover offset directly in header asm x86/boot: Define setup size in linker script
x86/boot: Derive file size from _edata symbol
x86/boot: Construct PE/COFF .text section from assembler x86/boot: Drop PE/COFF .reloc section
x86/boot: Split off PE/COFF .data section
x86/boot: Increase section and file alignment to 4k/512 x86/efistub: Use 1:1 file:memory mapping for PE/COFF .compat section x86/sme: Move early SME kernel encryption handling into .head.text x86/sev: Move early startup code into .head.text section x86/efistub: Remap kernel text read-only before dropping NX attribute
Arnd Bergmann (1):
x86/quirks: Include linux/pnp.h for arch_pnpbios_disabled()
Arınç ÜNAL (4):
net: dsa: mt7530: fix mirroring frames received on local port
net: dsa: mt7530: set all CPU ports in MT7531_CPU_PMAP
net: dsa: mt7530: fix improper frames on all 25MHz and 40MHz XTAL MT7530
net: dsa: mt7530: fix enabling EEE on MT7531 switch on all boards
Bjorn Helgaas (1):
PCI/DPC: Use FIELD_GET()
Brenton Simpson (1):
drm: panel-orientation-quirks: Add quirk for Lenovo Legion Go
Carlos Llamas (1):
binder: check offset alignment in binder_get_object()
Carolina Jubran (1):
net/mlx5e: Prevent deadlock while disabling aRFS
Christophe JAILLET (1):
usb: pci-quirks: Reduce the length of a spinlock section in usb_amd_find_chipset_info()
Chuanhong Guo (1):
USB: serial: option: add support for Fibocom FM650/FG650
Coia Prant (1):
USB: serial: option: add Lonsung U8300/U9300 product
Daniele Palmas (1):
USB: serial: option: add Telit FN920C04 rmnet compositions
Dave Airlie (1):
nouveau: fix instmem race condition around ptr stores
David Yang (1):
HID: kye: Sort kye devices
Dillon Varone (1):
drm/amd/display: Do not recursively call manual trigger programming
Dmitry Baryshkov (1):
drm/panel: visionox-rm69299: don't unregister DSI device
Dmitry Torokhov (1):
ARM: omap2: n8x0: stop instantiating codec platform data
Emil Kronborg (1):
serial: mxs-auart: add spinlock around changing cts state
Eric Biggers (1):
x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ
Finn Thain (1):
serial/pmac_zilog: Remove flawed mitigation for rx irq flood
Florian Westphal (1):
netfilter: nft_set_pipapo: do not free live element
Geoffrey D. Bennett (7):
ALSA: scarlett2: Move USB IDs out from device_info struct
ALSA: scarlett2: Add support for Clarett 8Pre USB
ALSA: scarlett2: Default mixer driver to enabled
ALSA: scarlett2: Add correct product series name to messages
ALSA: scarlett2: Add Focusrite Clarett+ 2Pre and 4Pre support
ALSA: scarlett2: Add Focusrite Clarett 2Pre and 4Pre USB support
ALSA: scarlett2: Rename scarlett_gen2 to scarlett2
Gil Fine (2):
thunderbolt: Avoid notify PM core about runtime PM resume
thunderbolt: Fix wake configurations after device unplug
Greg Kroah-Hartman (2):
Revert "usb: cdc-wdm: close race between read and workqueue" Linux 6.1.88
Hardik Gajjar (2):
usb: xhci: Add timeout argument in address_device USB HCD callback
usb: new quirk to reduce the SET_ADDRESS request timeout
Hawking Zhang (1):
drm/amdgpu: fix incorrect active rb bitmap for gfx11
Hou Wenlong (2):
x86/head/64: Add missing __head annotation to startup_64_load_idt() x86/head/64: Move the __head definition to <asm/init.h>
Ilpo Järvinen (1):
PCI: Simplify pcie_capability_clear_and_set_word() to ..._clear_word()
Janusz Krzysztofik (1):
drm/i915/vma: Fix UAF on destroy against retire race
Jason A. Donenfeld (1):
random: handle creditable entropy from atomic process context
Jeongjun Park (1):
nilfs2: fix OOB in nilfs_set_de_type
Jerry Meng (1):
USB: serial: option: support Quectel EM060K sub-models
Johan Hovold (1):
PCI/ASPM: Fix deadlock when enabling ASPM
Jose Ignacio Tornos Martinez (1):
net: usb: ax88179_178a: avoid writing the mac address before first reading
Josh Poimboeuf (1):
x86/bugs: Fix BHI retpoline check
Kai-Heng Feng (1):
usb: Disable USB3 LPM at shutdown
Kelvin Cao (2):
PCI: switchtec: Use normal comment style
PCI: switchtec: Add support for PCIe Gen5 devices
Konrad Dybcio (1):
clk: Print an info line before disabling unused clocks
Kuniyuki Iwashima (2):
af_unix: Call manage_oob() for every skb in unix_stream_read_generic().
af_unix: Don't peek OOB data without MSG_OOB.
Lei Chen (1):
tun: limit printing rate when illegal packet received by tun dev
Linus Walleij (1):
ASoC: ti: Convert Pandora ASoC to GPIO descriptors
Maciej W. Rozycki (1):
PCI: Execute quirk_enable_clear_retrain_link() earlier
Marios Makassikis (1):
ksmbd: clear RENAME_NOREPLACE before calling vfs_rename
Mark Zhang (1):
RDMA/cm: Print the old state when cm_destroy_id gets timeout
Miaohe Lin (1):
mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled
Michael Guralnik (1):
RDMA/mlx5: Fix port number for counter query in multi-port configuration
Michal Swiatkowski (1):
ice: tc: allow zero flags in parsing tc flower
Mika Westerberg (2):
thunderbolt: Log function name of the called quirk
thunderbolt: Add debug log for link controller power quirk
Mike Pastore (1):
PCI: Delay after FLR of Solidigm P44 Pro NVMe
Mikhail Kobuk (1):
drm: nv04: Fix out of bounds access
Minas Harutyunyan (1):
usb: dwc2: host: Fix dereference issue in DDMA completion flow.
Namjae Jeon (3):
ksmbd: fix slab-out-of-bounds in smb2_allocate_rsp_buf
ksmbd: validate request buffer size in smb2_allocate_rsp_buf()
ksmbd: common: use struct_group_attr instead of struct_group for network_open_info
Nikita Zhandarovich (1):
comedi: vmk80xx: fix incomplete endpoint checking
Norihiko Hama (1):
usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error
Pablo Neira Ayuso (3):
netfilter: br_netfilter: skip conntrack input hook for promisc packets
netfilter: flowtable: validate pppoe header
netfilter: flowtable: incorrect pppoe tuple
Pasha Tatashin (1):
x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros
Peter Oberparleiter (2):
s390/qdio: handle deferred cc1
s390/cio: fix race condition during online processing
Pin-yen Lin (1):
clk: mediatek: Do a runtime PM get on controllers during probe
Qiang Zhang (1):
bootconfig: use memblock_free_late to free xbc memory to buddy
Samuel Thibault (1):
speakup: Avoid crash on very long word
Sandipan Das (1):
KVM: x86/pmu: Do not mask LVTPC when handling a PMI on AMD platforms
Sean Christopherson (2):
KVM: x86: Snapshot if a vCPU's vendor model is AMD vs. Intel compatible
KVM: x86/pmu: Disable support for adaptive PEBS
Shay Drory (1):
net/mlx5: Lag, restore buckets number to default after hash LAG deactivation
Siddharth Vadapalli (1):
net: ethernet: ti: am65-cpsw-nuss: cleanup DMA Channels before using them
Stephen Boyd (4):
clk: Remove prepare_lock hold assertion in __clk_release()
clk: Initialize struct clk_core kref earlier
clk: Get runtime PM before walking tree during disable_unused
clk: Get runtime PM before walking tree for clk_summary
Steven Rostedt (Google) (1):
SUNRPC: Fix rpcgss_context trace event acceptor field
Tim Huang (1):
drm/amdgpu: fix incorrect number of active RBs for gfx11
Uwe Kleine-König (2):
serial: stm32: Return IRQ_NONE in the ISR if no handling happend
serial: stm32: Reset .throttled state in .startup()
Vanillan Wang (1):
USB: serial: option: add Rolling RW101-GL and RW135-GL support
Vishal Badole (1):
clk: Show active consumers of clocks in debugfs
Vladimir Oltean (1):
net: dsa: introduce preferred_default_local_cpu_port and use on MT7530
Yanjun.Zhu (1):
RDMA/rxe: Fix the problem "mutex_destroy missing"
Yaxiong Tian (1):
arm64: hibernate: Fix level3 translation fault in swsusp_save()
Yu Zhe (1):
clk: remove unnecessary (void*) conversions
Yuanhe Shu (1):
selftests/ftrace: Limit length in subsystem-enable tests
Yuntao Wang (1):
init/main.c: Fix potential static_command_line memory overflow
Zack Rusin (3):
drm/vmwgfx: Enable DMA mappings with SEV drm/vmwgfx: Sort primary plane formats by order of preference drm/vmwgfx: Fix crtc's atomic check conditional
Ziyang Xuan (2):
netfilter: nf_tables: Fix potential data-race in __nft_expr_type_get()
netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
bolan wang (1):
USB: serial: option: add Fibocom FM135-GL variants
xinhui pan (1):
drm/amdgpu: validate the parameters of bo mapping operations more clearly
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/kernel-parameters.txt +3 -0
@@ -6603,6 +6603,9 @@ pause after every control message); o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra delay after resetting its port); + p = USB_QUIRK_SHORT_SET_ADDRESS_REQ_TIMEOUT + (Reduce timeout of the SET_ADDRESS + request from 5000 ms to 500 ms); Example: quirks=0781:5580:bk,0a5c:5834:gij usbhid.mousepoll=
MAINTAINERS +1 -1
@@ -8031,7 +8031,7 @@ M: Geoffrey D. Bennett <[email protected]> L: [email protected] (moderated for non-subscribers) S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git -F: sound/usb/mixer_scarlett_gen2.c +F: sound/usb/mixer_scarlett2.c FORCEDETH GIGABIT ETHERNET DRIVER M: Rain River <[email protected]>
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 1 -SUBLEVEL = 87 +SUBLEVEL = 88 EXTRAVERSION = NAME = Curry Ramen
arch/arm/mach-omap2/board-n8x0.c +0 -5
@@ -22,7 +22,6 @@#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/mmc-omap.h> #include <linux/mfd/menelaus.h> -#include <sound/tlv320aic3x.h> #include <asm/mach/arch.h> #include <asm/mach-types.h>
@@ -567,10 +566,6 @@ struct menelaus_platform_data n8x0_menelaus_platform_data = { .late_init = n8x0_menelaus_late_init, }; -struct aic3x_pdata n810_aic33_data = { - .gpio_reset =118 , -}; -static int __init n8x0_late_initcall (void ) {if (!board_caps)
arch/arm/mach-omap2/common-board-devices.h +0 -2
@@ -2,12 +2,10 @@#ifndef __OMAP_COMMON_BOARD_DEVICES__#define __OMAP_COMMON_BOARD_DEVICES__ -#include <sound/tlv320aic3x.h> #include <linux/mfd/menelaus.h> void *n8x0_legacy_init (void );extern struct menelaus_platform_data n8x0_menelaus_platform_data; -extern struct aic3x_pdata n810_aic33_data;#endif /* __OMAP_COMMON_BOARD_DEVICES__ */
arch/arm/mach-omap2/pdata-quirks.c +10 -1
@@ -257,9 +257,19 @@ static struct platform_device pandora_backlight = { .id = -1, }; +static struct gpiod_lookup_table pandora_soc_audio_gpios = { + .dev_id ="soc-audio" , + .table = { +GPIO_LOOKUP ("gpio-112-127" ,6 ,"dac" ,GPIO_ACTIVE_HIGH ), +GPIO_LOOKUP ("gpio-0-15" ,14 ,"amp" ,GPIO_ACTIVE_HIGH ), + { } + }, +}; +static void __init omap3_pandora_legacy_init (void ) {platform_device_register (&pandora_backlight); +gpiod_add_lookup_table (&pandora_soc_audio_gpios); }#endif /* CONFIG_ARCH_OMAP3 */
@@ -440,7 +450,6 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {#ifdef CONFIG_MACH_NOKIA_N8X0 OF_DEV_AUXDATA("ti,omap2420-mmc", 0x4809c000, "mmci-omap.0", NULL), OF_DEV_AUXDATA("menelaus", 0x72, "1-0072", &n8x0_menelaus_platform_data), -OF_DEV_AUXDATA ("tlv320aic3x" ,0x18 ,"2-0018" , &n810_aic33_data),#endif #ifdef CONFIG_ARCH_OMAP3 OF_DEV_AUXDATA("ti,omap2-iommu", 0x5d000000, "5d000000.mmu",
arch/arm64/mm/pageattr.c +0 -3
@@ -220,9 +220,6 @@ bool kernel_page_present(struct page *page)pte_t *ptep;unsigned long addr = (unsigned long )page_address (page); -if (!can_set_direct_map ()) -return true; - pgdp =pgd_offset_k (addr);if (pgd_none (READ_ONCE (*pgdp)))return false;
arch/x86/boot/Makefile +1 -1
@@ -91,7 +91,7 @@ $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE SETUP_OBJS = $(addprefix $(obj)/,$(setup-y)) -sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|startup_64\|efi32_stub_entry\|efi64_stub_entry\|efi_pe_entry\|efi32_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|z_.*\)$$/\#define ZO_\2 0x\1/p' +sed-zoffset := -e 's/^\([0-9a-fA-F]*\) [a-zA-Z] \(startup_32\|efi.._stub_entry\|efi\(32\)\?_pe_entry\|input_data\|kernel_info\|_end\|_ehead\|_text\|_e\?data\|z_.*\)$$/\#define ZO_\2 0x\1/p' quiet_cmd_zoffset = ZOFFSET $@ cmd_zoffset = $(NM) $< | sed -n $(sed-zoffset) > $@
arch/x86/boot/compressed/Makefile +1 -1
@@ -84,7 +84,7 @@ LDFLAGS_vmlinux += -T hostprogs := mkpiggy HOST_EXTRACFLAGS += -I$(srctree)/tools/include -sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p' +sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__start_rodata\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p' quiet_cmd_voffset = VOFFSET $@ cmd_voffset = $(NM) $< | sed -n $(sed-voffset) > $@
arch/x86/boot/compressed/misc.c +1 -0
@@ -330,6 +330,7 @@ static size_t parse_elf(void *output)return ehdr.e_entry -LOAD_PHYSICAL_ADDR ; } +const unsigned long kernel_text_size = VO___start_rodata - VO__text;const unsigned long kernel_total_size = VO__end - VO__text;static u8 boot_heap[BOOT_HEAP_SIZE ]__aligned(4) ;
arch/x86/boot/compressed/sev.c +3 -0
@@ -118,6 +118,9 @@ static bool fault_in_kernel_space(unsigned long address)#define __init#define __pa (x) ((unsigned long)(x)) +#undef __head +#define __head +#define __BOOT_COMPRESSED/* Basic instruction decoding support needed */
arch/x86/boot/compressed/vmlinux.lds.S +4 -2
@@ -42,11 +42,13 @@ SECTIONS *(.rodata.*) _erodata = . ; } - .data : { + .data : ALIGN(0x1000) { _data = . ; *(.data) *(.data.*) - *(.bss.efistub) + + /* Add 4 bytes of extra space for a CRC-32 checksum */ + . = ALIGN(. + 4, 0x200); _edata = . ; } . = ALIGN(L1_CACHE_BYTES);
arch/x86/boot/header.S +82 -129
297 lines not on this page · raw message
arch/x86/boot/setup.ld +10 -4
@@ -10,10 +10,11 @@ ENTRY(_start) SECTIONS { . = 0; - .bstext : { *(.bstext) } - .bsdata : { *(.bsdata) } + .bstext : { + *(.bstext) + . = 495; + } =0xffffffff - . = 495; .header : { *(.header) } .entrytext : { *(.entrytext) } .inittext : { *(.inittext) }
@@ -23,6 +24,9 @@ SECTIONS .text : { *(.text .text.*) } .text32 : { *(.text32) } + .pecompat : { *(.pecompat) } + PROVIDE(pecompat_fsize = setup_size - pecompat_fstart); + . = ALIGN(16); .rodata : { *(.rodata*) }
@@ -38,8 +42,10 @@ SECTIONS .signature : { setup_sig = .; LONG(0x5a5aaa55) - } + setup_size = ALIGN(ABSOLUTE(.), 4096); + setup_sects = ABSOLUTE(setup_size / 512); + } . = ALIGN(16); .bss :
arch/x86/boot/tools/build.c +9 -264
337 lines not on this page · raw message
arch/x86/include/asm/boot.h +1 -0
@@ -81,6 +81,7 @@#ifndef __ASSEMBLY__extern unsigned int output_len; +extern const unsigned long kernel_text_size;extern const unsigned long kernel_total_size; unsigned long decompress_kernel(unsigned char *outbuf, unsigned long virt_addr,
arch/x86/include/asm/init.h +2 -0
@@ -2,6 +2,8 @@ #ifndef _ASM_X86_INIT_H #define _ASM_X86_INIT_H +#define __head __section(".head.text") + struct x86_mapping_info { void *(*alloc_pgt_page)(void *); /* allocate buf for page table */ void *context; /* context for alloc_pgt_page */
arch/x86/include/asm/kvm_host.h +1 -0
@@ -773,6 +773,7 @@ struct kvm_vcpu_arch {int cpuid_nent;struct kvm_cpuid_entry2 *cpuid_entries;u32 kvm_cpuid_base; +bool is_amd_compatible;u64 reserved_gpa_bits;int maxphyaddr;
arch/x86/include/asm/mem_encrypt.h +4 -4
@@ -46,8 +46,8 @@ void __init sme_unmap_bootdata(char *real_mode_data);void __init sme_early_init (void );void __init sev_setup_arch (void ); -void __init sme_encrypt_kernel (struct boot_params *bp); -void __init sme_enable (struct boot_params *bp); +void sme_encrypt_kernel (struct boot_params *bp); +void sme_enable (struct boot_params *bp);int __init early_set_memory_decrypted (unsigned long vaddr,unsigned long size);int __init early_set_memory_encrypted (unsigned long vaddr,unsigned long size);
@@ -80,8 +80,8 @@ static inline void __init sme_unmap_bootdata(char *real_mode_data) { }static inline void __init sme_early_init (void ) { }static inline void __init sev_setup_arch (void ) { } -static inline void __init sme_encrypt_kernel (struct boot_params *bp) { } -static inline void __init sme_enable (struct boot_params *bp) { } +static inline void sme_encrypt_kernel (struct boot_params *bp) { } +static inline void sme_enable (struct boot_params *bp) { }static inline void sev_es_init_vc_handling (void ) { }
arch/x86/include/asm/page_types.h +3 -9
@@ -11,20 +11,14 @@#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)#define PAGE_MASK (~(PAGE_SIZE-1)) -#define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) -#define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) - -#define PUD_PAGE_SIZE (_AC(1, UL) << PUD_SHIFT) -#define PUD_PAGE_MASK (~(PUD_PAGE_SIZE-1)) -#define __VIRTUAL_MASK ((1UL << __VIRTUAL_MASK_SHIFT) - 1) -/* Cast *PAGE_MASK to a signed type so that it is sign-extended if +/* Cast P*D_MASK to a signed type so that it is sign-extended if virtual addresses are 32-bits but physical addresses are larger (ie, 32-bit PAE). */ #define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK) -#define PHYSICAL_PMD_PAGE_MASK (((signed long)PMD_PAGE_MASK) & __PHYSICAL_MASK) -#define PHYSICAL_PUD_PAGE_MASK (((signed long)PUD_PAGE_MASK) & __PHYSICAL_MASK) +#define PHYSICAL_PMD_PAGE_MASK (((signed long)PMD_MASK) & __PHYSICAL_MASK) +#define PHYSICAL_PUD_PAGE_MASK (((signed long)PUD_MASK) & __PHYSICAL_MASK)#define HPAGE_SHIFT PMD_SHIFT#define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT)
arch/x86/include/asm/sev.h +5 -5
@@ -192,15 +192,15 @@ static inline int pvalidate(unsigned long vaddr, bool rmp_psize, bool validate)struct snp_guest_request_ioctl ;void setup_ghcb (void ); -void __init early_snp_set_memory_private (unsigned long vaddr,unsigned long paddr, -unsigned long npages); -void __init early_snp_set_memory_shared (unsigned long vaddr,unsigned long paddr, -unsigned long npages); +void early_snp_set_memory_private (unsigned long vaddr,unsigned long paddr, +unsigned long npages); +void early_snp_set_memory_shared (unsigned long vaddr,unsigned long paddr, +unsigned long npages);void snp_set_memory_shared (unsigned long vaddr,unsigned long npages);void snp_set_memory_private (unsigned long vaddr,unsigned long npages);void snp_set_wakeup_secondary_cpu (void );bool snp_init (struct boot_params *bp); -void __init __noreturn snp_abort (void ); +void __noreturn snp_abort (void );void snp_dmi_setup (void );int snp_issue_guest_request (u64 exit_code,struct snp_req_data *input,struct snp_guest_request_ioctl *rio);u64 snp_get_unsupported_features (u64 status);
arch/x86/kernel/amd_gart_64.c +1 -1
@@ -504,7 +504,7 @@ static __init unsigned long check_iommu_size(unsigned long aper, u64 aper_size) } a = aper + iommu_size; - iommu_size -=round_up (a,PMD_PAGE_SIZE ) - a; + iommu_size -=round_up (a,PMD_SIZE ) - a;if (iommu_size <64 *1024 *1024 ) { pr_warn("PCI-DMA: Warning: Small IOMMU %luMB."
arch/x86/kernel/cpu/bugs.c +7 -4
@@ -1629,7 +1629,8 @@ static void __init bhi_select_mitigation(void)return ;/* Retpoline mitigates against BHI unless the CPU has RRSBA behavior */ -if (cpu_feature_enabled (X86_FEATURE_RETPOLINE )) { +if (boot_cpu_has (X86_FEATURE_RETPOLINE ) && + !boot_cpu_has (X86_FEATURE_RETPOLINE_LFENCE )) {spec_ctrl_disable_kernel_rrsba ();if (rrsba_disabled)return ;
@@ -2783,11 +2784,13 @@ static const char *spectre_bhi_state(void) {if (!boot_cpu_has_bug (X86_BUG_BHI ))return "; BHI: Not affected" ; -else if (boot_cpu_has (X86_FEATURE_CLEAR_BHB_HW )) +else if (boot_cpu_has (X86_FEATURE_CLEAR_BHB_HW ))return "; BHI: BHI_DIS_S" ; -else if (boot_cpu_has (X86_FEATURE_CLEAR_BHB_LOOP )) +else if (boot_cpu_has (X86_FEATURE_CLEAR_BHB_LOOP ))return "; BHI: SW loop, KVM: SW loop" ; -else if (boot_cpu_has (X86_FEATURE_RETPOLINE ) && rrsba_disabled) +else if (boot_cpu_has (X86_FEATURE_RETPOLINE ) && + !boot_cpu_has (X86_FEATURE_RETPOLINE_LFENCE ) && + rrsba_disabled)return "; BHI: Retpoline" ;else if (boot_cpu_has (X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT ))return "; BHI: Vulnerable, KVM: SW loop" ;
arch/x86/kernel/cpu/cpuid-deps.c +3 -3
@@ -44,7 +44,10 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_F16C, X86_FEATURE_XMM2, }, { X86_FEATURE_AES, X86_FEATURE_XMM2 }, { X86_FEATURE_SHA_NI, X86_FEATURE_XMM2 }, + { X86_FEATURE_GFNI, X86_FEATURE_XMM2 }, { X86_FEATURE_FMA, X86_FEATURE_AVX }, + { X86_FEATURE_VAES, X86_FEATURE_AVX }, + { X86_FEATURE_VPCLMULQDQ, X86_FEATURE_AVX }, { X86_FEATURE_AVX2, X86_FEATURE_AVX, }, { X86_FEATURE_AVX512F, X86_FEATURE_AVX, }, { X86_FEATURE_AVX512IFMA, X86_FEATURE_AVX512F },
@@ -56,9 +59,6 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_AVX512VL, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512VBMI, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512_VBMI2, X86_FEATURE_AVX512VL }, - { X86_FEATURE_GFNI, X86_FEATURE_AVX512VL }, - { X86_FEATURE_VAES, X86_FEATURE_AVX512VL }, - { X86_FEATURE_VPCLMULQDQ, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_VNNI, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_BITALG, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_4VNNIW, X86_FEATURE_AVX512F },
arch/x86/kernel/head64.c +3 -4
@@ -41,6 +41,7 @@#include <asm/trapnr.h> #include <asm/sev.h> #include <asm/tdx.h> +#include <asm/init.h> /* * Manage page tables very early on.
@@ -84,8 +85,6 @@ static struct desc_ptr startup_gdt_descr = { .address = 0, }; -#define __head __section(".head.text") - static void __head *fixup_pointer(void *ptr, unsigned long physaddr) {return ptr - (void *)_text + (void *)physaddr;
@@ -203,7 +202,7 @@ unsigned long __head __startup_64(unsigned long physaddr, load_delta = physaddr - (unsigned long )(_text - __START_KERNEL_map);/* Is the address not 2M aligned? */ -if (load_delta & ~PMD_PAGE_MASK ) +if (load_delta & ~PMD_MASK )for (;;);/* Include the SME encryption mask in the fixup value */
@@ -588,7 +587,7 @@ static void set_bringup_idt_handler(gate_desc *idt, int n, void *handler) }/* This runs while still in the direct mapping */ -static void startup_64_load_idt (unsigned long physbase) +static void __head startup_64_load_idt(unsigned long physbase) {struct desc_ptr *desc =fixup_pointer (&bringup_idt_descr, physbase);gate_desc *idt =fixup_pointer (bringup_idt_table, physbase);
arch/x86/kernel/platform-quirks.c +1 -0
@@ -1,6 +1,7 @@// SPDX-License-Identifier: GPL-2.0 #include <linux/kernel.h> #include <linux/init.h> +#include <linux/pnp.h> #include <asm/setup.h> #include <asm/bios_ebda.h>
arch/x86/kernel/sev-shared.c +10 -13
@@ -86,7 +86,8 @@ static bool __init sev_es_check_cpu_features(void)return true; } -static void __noreturn sev_es_terminate (unsigned int set,unsigned int reason) +static void __head __noreturn +sev_es_terminate (unsigned int set,unsigned int reason) {u64 val =GHCB_MSR_TERM_REQ ;
@@ -323,13 +324,7 @@ static int sev_cpuid_hv(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid*/ static const struct snp_cpuid_table *snp_cpuid_get_table (void ) { -void *ptr; - - asm ("lea cpuid_table_copy(%%rip), %0" - :"=r" (ptr) - :"p" (&cpuid_table_copy)); - -return ptr; +return &RIP_REL_REF (cpuid_table_copy); }/*
@@ -388,7 +383,7 @@ static u32 snp_cpuid_calc_xsave_size(u64 xfeatures_en, bool compacted)return xsave_size; } -static bool +static bool __headsnp_cpuid_get_validated_func (struct cpuid_leaf *leaf) {const struct snp_cpuid_table *cpuid_table =snp_cpuid_get_table ();
@@ -525,7 +520,8 @@ static int snp_cpuid_postprocess(struct ghcb *ghcb, struct es_em_ctxt *ctxt,* Returns -EOPNOTSUPP if feature not enabled. Any other non-zero return value * should be treated as fatal by caller. */ -static int snp_cpuid (struct ghcb *ghcb,struct es_em_ctxt *ctxt,struct cpuid_leaf *leaf) +static int __head +snp_cpuid (struct ghcb *ghcb,struct es_em_ctxt *ctxt,struct cpuid_leaf *leaf) {const struct snp_cpuid_table *cpuid_table =snp_cpuid_get_table ();
@@ -567,7 +563,7 @@ static int snp_cpuid(struct ghcb *ghcb, struct es_em_ctxt *ctxt, struct cpuid_le* page yet, so it only supports the MSR based communication with the * hypervisor and only the CPUID exit-code. */ -void __init do_vc_no_ghcb (struct pt_regs *regs,unsigned long exit_code) +void __head do_vc_no_ghcb(struct pt_regs *regs, unsigned long exit_code) {unsigned int subfn =lower_bits (regs->cx,32 );unsigned int fn =lower_bits (regs->ax,32 );
@@ -1013,7 +1009,8 @@ struct cc_setup_data {* Search for a Confidential Computing blob passed in as a setup_data entry * via the Linux Boot Protocol. */ -static struct cc_blob_sev_info *find_cc_blob_setup_data (struct boot_params *bp) +static __head +struct cc_blob_sev_info *find_cc_blob_setup_data(struct boot_params *bp) {struct cc_setup_data *sd =NULL ;struct setup_data *hdr;
@@ -1040,7 +1037,7 @@ static struct cc_blob_sev_info *find_cc_blob_setup_data(struct boot_params *bp)* mapping needs to be updated in sync with all the changes to virtual memory * layout and related mapping facilities throughout the boot process. */ -static void __init setup_cpuid_table (const struct cc_blob_sev_info *cc_info) +static void __head setup_cpuid_table(const struct cc_blob_sev_info *cc_info) {const struct snp_cpuid_table *cpuid_table_fw, *cpuid_table;int i;
arch/x86/kernel/sev.c +6 -5
@@ -26,6 +26,7 @@#include <linux/dmi.h> #include <uapi/linux/sev-guest.h> +#include <asm/init.h> #include <asm/cpu_entry_area.h> #include <asm/stacktrace.h> #include <asm/sev.h>
@@ -690,7 +691,7 @@ static void pvalidate_pages(unsigned long vaddr, unsigned long npages, bool vali } } -static void __init early_set_pages_state (unsigned long paddr,unsigned long npages,enum psc_op op) +static void __head early_set_pages_state(unsigned long paddr, unsigned long npages, enum psc_op op) {unsigned long paddr_end;u64 val;
@@ -728,7 +729,7 @@ static void __init early_set_pages_state(unsigned long paddr, unsigned long npagsev_es_terminate (SEV_TERM_SET_LINUX ,GHCB_TERM_PSC ); } -void __init early_snp_set_memory_private (unsigned long vaddr,unsigned long paddr, +void __head early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr,unsigned long npages) {/*
@@ -2085,7 +2086,7 @@ bool __init handle_vc_boot_ghcb(struct pt_regs *regs)* * Scan for the blob in that order. */ -static __init struct cc_blob_sev_info *find_cc_blob (struct boot_params *bp) +static __head struct cc_blob_sev_info *find_cc_blob(struct boot_params *bp) {struct cc_blob_sev_info *cc_info;
@@ -2111,7 +2112,7 @@ static __init struct cc_blob_sev_info *find_cc_blob(struct boot_params *bp)return cc_info; } -bool __init snp_init (struct boot_params *bp) +bool __head snp_init(struct boot_params *bp) {struct cc_blob_sev_info *cc_info;
@@ -2133,7 +2134,7 @@ bool __init snp_init(struct boot_params *bp)return true; } -void __init __noreturn snp_abort (void ) +void __head __noreturn snp_abort(void) {sev_es_terminate (SEV_TERM_SET_GEN ,GHCB_SNP_UNSUPPORTED ); }
arch/x86/kvm/cpuid.c +1 -0
@@ -340,6 +340,7 @@ static void kvm_vcpu_after_set_cpuid(struct kvm_vcpu *vcpu)kvm_update_pv_runtime (vcpu); + vcpu->arch.is_amd_compatible =guest_cpuid_is_amd_or_hygon (vcpu); vcpu->arch.maxphyaddr =cpuid_query_maxphyaddr (vcpu); vcpu->arch.reserved_gpa_bits =kvm_vcpu_reserved_gpa_bits_raw (vcpu);
arch/x86/kvm/cpuid.h +10 -0
@@ -125,6 +125,16 @@ static inline bool guest_cpuid_is_intel(struct kvm_vcpu *vcpu)return best &&is_guest_vendor_intel (best->ebx, best->ecx, best->edx); } +static inline bool guest_cpuid_is_amd_compatible (struct kvm_vcpu *vcpu) +{ +return vcpu->arch.is_amd_compatible; +} + +static inline bool guest_cpuid_is_intel_compatible (struct kvm_vcpu *vcpu) +{ +return !guest_cpuid_is_amd_compatible (vcpu); +} +static inline int guest_cpuid_family (struct kvm_vcpu *vcpu) {struct kvm_cpuid_entry2 *best;
arch/x86/kvm/lapic.c +2 -1
@@ -2548,7 +2548,8 @@ int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type) trig_mode = reg &APIC_LVT_LEVEL_TRIGGER ; r =__apic_accept_irq (apic, mode, vector,1 , trig_mode,NULL ); -if (r && lvt_type ==APIC_LVTPC ) +if (r && lvt_type ==APIC_LVTPC && +guest_cpuid_is_intel_compatible (apic->vcpu))kvm_lapic_set_reg (apic,APIC_LVTPC , reg |APIC_LVT_MASKED );return r; }
arch/x86/kvm/mmu/mmu.c +1 -1
@@ -4649,7 +4649,7 @@ static void reset_guest_rsvds_bits_mask(struct kvm_vcpu *vcpu, context->cpu_role.base.level,is_efer_nx (context),guest_can_use_gbpages (vcpu),is_cr4_pse (context), - guest_cpuid_is_amd_or_hygon(vcpu)); + guest_cpuid_is_amd_compatible(vcpu)); } static void
arch/x86/kvm/vmx/vmx.c +22 -2
@@ -7742,8 +7742,28 @@ static u64 vmx_get_perf_capabilities(void)if (vmx_pebs_supported ()) { perf_cap |= host_perf_cap &PERF_CAP_PEBS_MASK ; -if ((perf_cap &PERF_CAP_PEBS_FORMAT ) <4 ) - perf_cap &= ~PERF_CAP_PEBS_BASELINE ; + +/* +* Disallow adaptive PEBS as it is functionally broken, can be +* used by the guest to read *host* LBRs, and can be used to +* bypass userspace event filters. To correctly and safely +* support adaptive PEBS, KVM needs to: +* +* 1. Account for the ADAPTIVE flag when (re)programming fixed +* counters. +* +* 2. Gain support from perf (or take direct control of counter +* programming) to support events without adaptive PEBS +* enabled for the hardware counter. +* +* 3. Ensure LBR MSRs cannot hold host data on VM-Entry with +* adaptive PEBS enabled and MSR_PEBS_DATA_CFG.LBRS=1. +* +* 4. Document which PMU events are effectively exposed to the +* guest via adaptive PEBS, and make adaptive PEBS mutually +* exclusive with KVM_SET_PMU_EVENT_FILTER if necessary. +*/ + perf_cap &= ~PERF_CAP_PEBS_BASELINE ; }return perf_cap;
arch/x86/kvm/x86.c +1 -1
@@ -3278,7 +3278,7 @@ static bool is_mci_status_msr(u32 msr)static bool can_set_mci_status (struct kvm_vcpu *vcpu) {/* McStatusWrEn enabled? */ -if (guest_cpuid_is_amd_or_hygon (vcpu)) +if (guest_cpuid_is_amd_compatible (vcpu))return !!(vcpu->arch.msr_hwcr &BIT_ULL (18 ));return false;
arch/x86/mm/mem_encrypt_boot.S +2 -2
@@ -26,7 +26,7 @@ SYM_FUNC_START(sme_encrypt_execute) * RCX - virtual address of the encryption workarea, including: * - stack page (PAGE_SIZE) * - encryption routine page (PAGE_SIZE) - * - intermediate copy buffer (PMD_PAGE_SIZE) + * - intermediate copy buffer (PMD_SIZE) * R8 - physical address of the pagetables to use for encryption */
@@ -123,7 +123,7 @@ SYM_FUNC_START(__enc_copy) wbinvd /* Invalidate any cache entries */ /* Copy/encrypt up to 2MB at a time */ - movq $PMD_PAGE_SIZE, %r12 + movq $PMD_SIZE, %r12 1: cmpq %r12, %r9 jnb 2f
arch/x86/mm/mem_encrypt_identity.c +25 -33
176 lines not on this page · raw message
arch/x86/mm/pat/set_memory.c +3 -3
@@ -747,11 +747,11 @@ phys_addr_t slow_virt_to_phys(void *__virt_addr)switch (level) {case PG_LEVEL_1G : phys_addr = (phys_addr_t )pud_pfn (*(pud_t *)pte) <<PAGE_SHIFT ; - offset = virt_addr & ~PUD_PAGE_MASK ; + offset = virt_addr & ~PUD_MASK ;break ;case PG_LEVEL_2M : phys_addr = (phys_addr_t )pmd_pfn (*(pmd_t *)pte) <<PAGE_SHIFT ; - offset = virt_addr & ~PMD_PAGE_MASK ; + offset = virt_addr & ~PMD_MASK ;break ;default : phys_addr = (phys_addr_t )pte_pfn (*pte) <<PAGE_SHIFT ;
@@ -1041,7 +1041,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,case PG_LEVEL_1G : ref_prot =pud_pgprot (*(pud_t *)kpte); ref_pfn =pud_pfn (*(pud_t *)kpte); - pfninc =PMD_PAGE_SIZE >>PAGE_SHIFT ; + pfninc =PMD_SIZE >>PAGE_SHIFT ; lpaddr = address &PUD_MASK ; lpinc =PMD_SIZE ;/*
arch/x86/mm/pti.c +1 -1
@@ -592,7 +592,7 @@ static void pti_set_kernel_image_nonglobal(void)* of the image. */ unsigned long start =PFN_ALIGN (_text); -unsigned long end =ALIGN ((unsigned long )_end,PMD_PAGE_SIZE ); +unsigned long end =ALIGN ((unsigned long )_end,PMD_SIZE );/* * This clears _PAGE_GLOBAL from the entire kernel image.
drivers/accessibility/speakup/main.c +1 -1
@@ -573,7 +573,7 @@ static u_long get_word(struct vc_data *vc) } attr_ch =get_char (vc, (u_short *)tmp_pos, &spk_attr); buf[cnt++] = attr_ch; -while (tmpx < vc->vc_cols -1 ) { +while (tmpx < vc->vc_cols -1 && cnt <sizeof (buf) -1 ) { tmp_pos +=2 ; tmpx++; ch =get_char (vc, (u_short *)tmp_pos, &temp);
drivers/android/binder.c +3 -1
@@ -1707,8 +1707,10 @@ static size_t binder_get_object(struct binder_proc *proc,size_t object_size =0 ; read_size =min_t (size_t,sizeof (*object), buffer->data_size - offset); -if (offset > buffer->data_size || read_size <sizeof (*hdr)) +if (offset > buffer->data_size || read_size <sizeof (*hdr) || + !IS_ALIGNED (offset,sizeof (u32)))return 0 ; +if (u) {if (copy_from_user (object, u + offset, read_size))return 0 ;
drivers/char/random.c +5 -5
@@ -683,7 +683,7 @@ static void extract_entropy(void *buf, size_t len)static void __cold _credit_init_bits (size_t bits) { -static struct execute_work set_ready; + static DECLARE_WORK(set_ready, crng_set_ready);unsigned int new, orig, add;unsigned long flags;
@@ -699,8 +699,8 @@ static void __cold _credit_init_bits(size_t bits)if (orig <POOL_READY_BITS && new >=POOL_READY_BITS ) {crng_reseed ();/* Sets crng_init to CRNG_READY under base_crng.lock. */ -if (static_key_initialized) -execute_in_process_context (crng_set_ready, &set_ready); +if (static_key_initialized && system_unbound_wq) +queue_work (system_unbound_wq, &set_ready);wake_up_interruptible (&crng_init_wait);kill_fasync (&fasync,SIGIO ,POLL_IN );pr_notice ("crng init done\n" );
@@ -870,8 +870,8 @@ void __init random_init(void)/* * If we were initialized by the cpu or bootloader before jump labels -* are initialized, then we should enable the static branch here, where -* it's guaranteed that jump labels have been initialized. +* or workqueues are initialized, then we should enable the static +* branch here, where it's guaranteed that these have been initialized. */ if (!static_branch_likely (&crng_is_ready) && crng_init >=CRNG_READY )crng_set_ready (NULL );
drivers/clk/clk.c +158 -43
356 lines not on this page · raw message
drivers/clk/mediatek/clk-gate.c +7 -16
@@ -152,12 +152,12 @@ const struct clk_ops mtk_clk_gate_ops_no_setclr_inv = { };EXPORT_SYMBOL_GPL (mtk_clk_gate_ops_no_setclr_inv); -static struct clk_hw *mtk_clk_register_gate (const char *name, +static struct clk_hw *mtk_clk_register_gate (struct device *dev,const char *name,const char *parent_name,struct regmap *regmap,int set_ofs,int clr_ofs,int sta_ofs,u8 bit,const struct clk_ops *ops, -unsigned long flags,struct device *dev) +unsigned long flags) {struct mtk_clk_gate *cg;int ret;
@@ -202,10 +202,9 @@ static void mtk_clk_unregister_gate(struct clk_hw *hw)kfree (cg); } -int mtk_clk_register_gates_with_dev (struct device_node *node, -const struct mtk_gate *clks,int num, -struct clk_hw_onecell_data *clk_data, -struct device *dev) +int mtk_clk_register_gates (struct device *dev,struct device_node *node, +const struct mtk_gate *clks,int num, +struct clk_hw_onecell_data *clk_data) {int i;struct clk_hw *hw;
@@ -229,13 +228,13 @@ int mtk_clk_register_gates_with_dev(struct device_node *node,continue ; } - hw =mtk_clk_register_gate (gate->name, gate->parent_name, + hw =mtk_clk_register_gate (dev, gate->name, gate->parent_name, regmap, gate->regs->set_ofs, gate->regs->clr_ofs, gate->regs->sta_ofs, gate->shift, gate->ops, - gate->flags, dev); + gate->flags);if (IS_ERR (hw)) { pr_err("Failed to register clk %s: %pe\n", gate->name,
@@ -261,14 +260,6 @@ int mtk_clk_register_gates_with_dev(struct device_node *node,return PTR_ERR (hw); } -EXPORT_SYMBOL_GPL (mtk_clk_register_gates_with_dev); - -int mtk_clk_register_gates (struct device_node *node, -const struct mtk_gate *clks,int num, -struct clk_hw_onecell_data *clk_data) -{ -return mtk_clk_register_gates_with_dev (node, clks, num, clk_data,NULL ); -}EXPORT_SYMBOL_GPL (mtk_clk_register_gates); void mtk_clk_unregister_gates(const struct mtk_gate *clks, int num,
drivers/clk/mediatek/clk-gate.h +1 -6
@@ -50,15 +50,10 @@ struct mtk_gate {#define GATE_MTK (_id, _name, _parent, _regs, _shift, _ops) \ GATE_MTK_FLAGS(_id, _name, _parent, _regs, _shift, _ops, 0) -int mtk_clk_register_gates (struct device_node *node, +int mtk_clk_register_gates (struct device *dev,struct device_node *node,const struct mtk_gate *clks,int num,struct clk_hw_onecell_data *clk_data); -int mtk_clk_register_gates_with_dev (struct device_node *node, -const struct mtk_gate *clks,int num, -struct clk_hw_onecell_data *clk_data, -struct device *dev); -void mtk_clk_unregister_gates (const struct mtk_gate *clks,int num,struct clk_hw_onecell_data *clk_data);
drivers/clk/mediatek/clk-mt2701-aud.c +2 -2
@@ -127,8 +127,8 @@ static int clk_mt2701_aud_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_AUD_NR ); -mtk_clk_register_gates (node, audio_clks,ARRAY_SIZE (audio_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, audio_clks, +ARRAY_SIZE (audio_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r) {
drivers/clk/mediatek/clk-mt2701-eth.c +2 -2
@@ -51,8 +51,8 @@ static int clk_mt2701_eth_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_ETHSYS_NR ); -mtk_clk_register_gates (node, eth_clks,ARRAY_SIZE (eth_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, eth_clks, +ARRAY_SIZE (eth_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt2701-g3d.c +1 -1
@@ -45,7 +45,7 @@ static int clk_mt2701_g3dsys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_G3DSYS_NR ); -mtk_clk_register_gates (node, g3d_clks,ARRAY_SIZE (g3d_clks), +mtk_clk_register_gates (&pdev->dev, node, g3d_clks,ARRAY_SIZE (g3d_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt2701-hif.c +2 -2
@@ -48,8 +48,8 @@ static int clk_mt2701_hif_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_HIFSYS_NR ); -mtk_clk_register_gates (node, hif_clks,ARRAY_SIZE (hif_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, hif_clks, +ARRAY_SIZE (hif_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r) {
drivers/clk/mediatek/clk-mt2701-mm.c +2 -2
@@ -76,8 +76,8 @@ static int clk_mt2701_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR ); -mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt2701.c +12 -10
@@ -679,14 +679,15 @@ static int mtk_topckgen_init(struct platform_device *pdev)mtk_clk_register_factors (top_fixed_divs,ARRAY_SIZE (top_fixed_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), - base, &mt2701_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt2701_clk_lock, clk_data);mtk_clk_register_dividers (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, &mt2701_clk_lock, clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
@@ -789,8 +790,8 @@ static int mtk_infrasys_init(struct platform_device *pdev) } } -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - infra_clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), infra_clk_data);mtk_clk_register_factors (infra_fixed_divs,ARRAY_SIZE (infra_fixed_divs), infra_clk_data);
@@ -902,11 +903,12 @@ static int mtk_pericfg_init(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, peri_clks,ARRAY_SIZE (peri_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, peri_clks, +ARRAY_SIZE (peri_clks), clk_data); -mtk_clk_register_composites (peri_muxs,ARRAY_SIZE (peri_muxs), base, - &mt2701_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, peri_muxs, +ARRAY_SIZE (peri_muxs), base, + &mt2701_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt2712-mm.c +2 -2
@@ -117,8 +117,8 @@ static int clk_mt2712_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR_CLK ); -mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt2712.c +14 -10
@@ -1320,12 +1320,13 @@ static int clk_mt2712_top_probe(struct platform_device *pdev)mtk_clk_register_factors (top_early_divs,ARRAY_SIZE (top_early_divs), top_clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), top_clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, - &mt2712_clk_lock, top_clk_data); +mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt2712_clk_lock, top_clk_data);mtk_clk_register_dividers (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, &mt2712_clk_lock, top_clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), - top_clk_data); +mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), top_clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, top_clk_data);
@@ -1344,8 +1345,8 @@ static int clk_mt2712_infra_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -1366,8 +1367,8 @@ static int clk_mt2712_peri_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_PERI_NR_CLK ); -mtk_clk_register_gates (node, peri_clks,ARRAY_SIZE (peri_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, peri_clks, +ARRAY_SIZE (peri_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -1395,8 +1396,11 @@ static int clk_mt2712_mcu_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MCU_NR_CLK ); -mtk_clk_register_composites (mcu_muxes,ARRAY_SIZE (mcu_muxes), base, - &mt2712_clk_lock, clk_data); + r =mtk_clk_register_composites (&pdev->dev, mcu_muxes, +ARRAY_SIZE (mcu_muxes), base, + &mt2712_clk_lock, clk_data); +if (r) +dev_err (&pdev->dev,"Could not register composites: %d\n" , r); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt6765.c +7 -6
@@ -743,7 +743,7 @@ static int clk_mt6765_apmixed_probe(struct platform_device *pdev)mtk_clk_register_plls (node, plls,ARRAY_SIZE (plls), clk_data); -mtk_clk_register_gates (node, apmixed_clks, +mtk_clk_register_gates (&pdev->dev, node, apmixed_clks,ARRAY_SIZE (apmixed_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -782,10 +782,11 @@ static int clk_mt6765_top_probe(struct platform_device *pdev) clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), node, +mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, &mt6765_clk_lock, clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -820,8 +821,8 @@ static int clk_mt6765_ifr_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, ifr_clks,ARRAY_SIZE (ifr_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, ifr_clks, +ARRAY_SIZE (ifr_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt6779-mm.c +2 -2
@@ -93,8 +93,8 @@ static int clk_mt6779_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR_CLK ); -mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
drivers/clk/mediatek/clk-mt6779.c +12 -9
@@ -1223,7 +1223,7 @@ static int clk_mt6779_apmixed_probe(struct platform_device *pdev)mtk_clk_register_plls (node, plls,ARRAY_SIZE (plls), clk_data); -mtk_clk_register_gates (node, apmixed_clks, +mtk_clk_register_gates (&pdev->dev, node, apmixed_clks,ARRAY_SIZE (apmixed_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -1248,14 +1248,17 @@ static int clk_mt6779_top_probe(struct platform_device *pdev)mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), - node, &mt6779_clk_lock, clk_data); +mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, + &mt6779_clk_lock, clk_data); -mtk_clk_register_composites (top_aud_muxes,ARRAY_SIZE (top_aud_muxes), - base, &mt6779_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, top_aud_muxes, +ARRAY_SIZE (top_aud_muxes), base, + &mt6779_clk_lock, clk_data); -mtk_clk_register_composites (top_aud_divs,ARRAY_SIZE (top_aud_divs), - base, &mt6779_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, top_aud_divs, +ARRAY_SIZE (top_aud_divs), base, + &mt6779_clk_lock, clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
@@ -1267,8 +1270,8 @@ static int clk_mt6779_infra_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
drivers/clk/mediatek/clk-mt6795-infracfg.c +2 -1
@@ -101,7 +101,8 @@ static int clk_mt6795_infracfg_probe(struct platform_device *pdev)if (ret) goto free_clk_data; - ret =mtk_clk_register_gates (node, infra_gates,ARRAY_SIZE (infra_gates), clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, infra_gates, +ARRAY_SIZE (infra_gates), clk_data);if (ret) goto free_clk_data;
drivers/clk/mediatek/clk-mt6795-mm.c +2 -1
@@ -87,7 +87,8 @@ static int clk_mt6795_mm_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - ret =mtk_clk_register_gates (node, mm_gates,ARRAY_SIZE (mm_gates), clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, mm_gates, +ARRAY_SIZE (mm_gates), clk_data);if (ret) goto free_clk_data;
drivers/clk/mediatek/clk-mt6795-pericfg.c +4 -2
@@ -109,11 +109,13 @@ static int clk_mt6795_pericfg_probe(struct platform_device *pdev)if (ret) goto free_clk_data; - ret =mtk_clk_register_gates (node, peri_gates,ARRAY_SIZE (peri_gates), clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, peri_gates, +ARRAY_SIZE (peri_gates), clk_data);if (ret) goto free_clk_data; - ret =mtk_clk_register_composites (peri_clks,ARRAY_SIZE (peri_clks), base, + ret =mtk_clk_register_composites (&pdev->dev, peri_clks, +ARRAY_SIZE (peri_clks), base, &mt6795_peri_clk_lock, clk_data);if (ret) goto unregister_gates;
drivers/clk/mediatek/clk-mt6795-topckgen.c +4 -2
@@ -552,12 +552,14 @@ static int clk_mt6795_topckgen_probe(struct platform_device *pdev)if (ret) goto unregister_fixed_clks; - ret =mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), node, + ret =mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, &mt6795_top_clk_lock, clk_data);if (ret) goto unregister_factors; - ret =mtk_clk_register_composites (top_aud_divs,ARRAY_SIZE (top_aud_divs), base, + ret =mtk_clk_register_composites (&pdev->dev, top_aud_divs, +ARRAY_SIZE (top_aud_divs), base, &mt6795_top_clk_lock, clk_data);if (ret) goto unregister_muxes;
drivers/clk/mediatek/clk-mt6797-mm.c +2 -2
@@ -89,8 +89,8 @@ static int clk_mt6797_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR ); -mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt6797.c +4 -3
@@ -398,7 +398,8 @@ static int mtk_topckgen_init(struct platform_device *pdev)mtk_clk_register_factors (top_fixed_divs,ARRAY_SIZE (top_fixed_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, +mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, &mt6797_clk_lock, clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -584,8 +585,8 @@ static int mtk_infrasys_init(struct platform_device *pdev) } } -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - infra_clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), infra_clk_data);mtk_clk_register_factors (infra_fixed_divs,ARRAY_SIZE (infra_fixed_divs), infra_clk_data);
drivers/clk/mediatek/clk-mt7622-aud.c +2 -2
@@ -114,8 +114,8 @@ static int clk_mt7622_audiosys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_AUDIO_NR_CLK ); -mtk_clk_register_gates (node, audio_clks,ARRAY_SIZE (audio_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, audio_clks, +ARRAY_SIZE (audio_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r) {
drivers/clk/mediatek/clk-mt7622-eth.c +4 -4
@@ -69,8 +69,8 @@ static int clk_mt7622_ethsys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_ETH_NR_CLK ); -mtk_clk_register_gates (node, eth_clks,ARRAY_SIZE (eth_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, eth_clks, +ARRAY_SIZE (eth_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -91,8 +91,8 @@ static int clk_mt7622_sgmiisys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_SGMII_NR_CLK ); -mtk_clk_register_gates (node, sgmii_clks,ARRAY_SIZE (sgmii_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, sgmii_clks, +ARRAY_SIZE (sgmii_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt7622-hif.c +4 -4
@@ -80,8 +80,8 @@ static int clk_mt7622_ssusbsys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_SSUSB_NR_CLK ); -mtk_clk_register_gates (node, ssusb_clks,ARRAY_SIZE (ssusb_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, ssusb_clks, +ARRAY_SIZE (ssusb_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -102,8 +102,8 @@ static int clk_mt7622_pciesys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_PCIE_NR_CLK ); -mtk_clk_register_gates (node, pcie_clks,ARRAY_SIZE (pcie_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, pcie_clks, +ARRAY_SIZE (pcie_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt7622.c +12 -10
@@ -615,14 +615,15 @@ static int mtk_topckgen_init(struct platform_device *pdev)mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), - base, &mt7622_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt7622_clk_lock, clk_data);mtk_clk_register_dividers (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, &mt7622_clk_lock, clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
@@ -635,8 +636,8 @@ static int mtk_infrasys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data);mtk_clk_register_cpumuxes (node, infra_muxes,ARRAY_SIZE (infra_muxes), clk_data);
@@ -663,7 +664,7 @@ static int mtk_apmixedsys_init(struct platform_device *pdev)mtk_clk_register_plls (node, plls,ARRAY_SIZE (plls), clk_data); -mtk_clk_register_gates (node, apmixed_clks, +mtk_clk_register_gates (&pdev->dev, node, apmixed_clks,ARRAY_SIZE (apmixed_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -682,10 +683,11 @@ static int mtk_pericfg_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_PERI_NR_CLK ); -mtk_clk_register_gates (node, peri_clks,ARRAY_SIZE (peri_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, peri_clks, +ARRAY_SIZE (peri_clks), clk_data); -mtk_clk_register_composites (peri_muxes,ARRAY_SIZE (peri_muxes), base, +mtk_clk_register_composites (&pdev->dev, peri_muxes, +ARRAY_SIZE (peri_muxes), base, &mt7622_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt7629-eth.c +4 -3
@@ -82,7 +82,8 @@ static int clk_mt7629_ethsys_init(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, eth_clks,CLK_ETH_NR_CLK , clk_data); +mtk_clk_register_gates (&pdev->dev, node, eth_clks, +CLK_ETH_NR_CLK , clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -106,8 +107,8 @@ static int clk_mt7629_sgmiisys_init(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, sgmii_clks[id++],CLK_SGMII_NR_CLK , - clk_data); +mtk_clk_register_gates (&pdev->dev, node, sgmii_clks[id++], +CLK_SGMII_NR_CLK , clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt7629-hif.c +4 -4
@@ -75,8 +75,8 @@ static int clk_mt7629_ssusbsys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_SSUSB_NR_CLK ); -mtk_clk_register_gates (node, ssusb_clks,ARRAY_SIZE (ssusb_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, ssusb_clks, +ARRAY_SIZE (ssusb_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -97,8 +97,8 @@ static int clk_mt7629_pciesys_init(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_PCIE_NR_CLK ); -mtk_clk_register_gates (node, pcie_clks,ARRAY_SIZE (pcie_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, pcie_clks, +ARRAY_SIZE (pcie_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt7629.c +10 -8
@@ -566,8 +566,9 @@ static int mtk_topckgen_init(struct platform_device *pdev)mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), - base, &mt7629_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt7629_clk_lock, clk_data);clk_prepare_enable (clk_data->hws[CLK_TOP_AXI_SEL ]->clk);clk_prepare_enable (clk_data->hws[CLK_TOP_MEM_SEL ]->clk);
@@ -585,8 +586,8 @@ static int mtk_infrasys_init(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data);mtk_clk_register_cpumuxes (node, infra_muxes,ARRAY_SIZE (infra_muxes), clk_data);
@@ -610,10 +611,11 @@ static int mtk_pericfg_init(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; -mtk_clk_register_gates (node, peri_clks,ARRAY_SIZE (peri_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, peri_clks, +ARRAY_SIZE (peri_clks), clk_data); -mtk_clk_register_composites (peri_muxes,ARRAY_SIZE (peri_muxes), base, +mtk_clk_register_composites (&pdev->dev, peri_muxes, +ARRAY_SIZE (peri_muxes), base, &mt7629_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -637,7 +639,7 @@ static int mtk_apmixedsys_init(struct platform_device *pdev)mtk_clk_register_plls (node, plls,ARRAY_SIZE (plls), clk_data); -mtk_clk_register_gates (node, apmixed_clks, +mtk_clk_register_gates (&pdev->dev, node, apmixed_clks,ARRAY_SIZE (apmixed_clks), clk_data);clk_prepare_enable (clk_data->hws[CLK_APMIXED_ARMPLL ]->clk);
drivers/clk/mediatek/clk-mt7986-eth.c +5 -5
@@ -72,8 +72,8 @@ static void __init mtk_sgmiisys_0_init(struct device_node *node) clk_data =mtk_alloc_clk_data (ARRAY_SIZE (sgmii0_clks)); -mtk_clk_register_gates (node, sgmii0_clks,ARRAY_SIZE (sgmii0_clks), - clk_data); +mtk_clk_register_gates (NULL , node, sgmii0_clks, +ARRAY_SIZE (sgmii0_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -90,8 +90,8 @@ static void __init mtk_sgmiisys_1_init(struct device_node *node) clk_data =mtk_alloc_clk_data (ARRAY_SIZE (sgmii1_clks)); -mtk_clk_register_gates (node, sgmii1_clks,ARRAY_SIZE (sgmii1_clks), - clk_data); +mtk_clk_register_gates (NULL , node, sgmii1_clks, +ARRAY_SIZE (sgmii1_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -109,7 +109,7 @@ static void __init mtk_ethsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (ARRAY_SIZE (eth_clks)); -mtk_clk_register_gates (node, eth_clks,ARRAY_SIZE (eth_clks), clk_data); +mtk_clk_register_gates (NULL , node, eth_clks,ARRAY_SIZE (eth_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt7986-infracfg.c +4 -3
@@ -178,10 +178,11 @@ static int clk_mt7986_infracfg_probe(struct platform_device *pdev)return -ENOMEM ;mtk_clk_register_factors (infra_divs,ARRAY_SIZE (infra_divs), clk_data); -mtk_clk_register_muxes (infra_muxes,ARRAY_SIZE (infra_muxes), node, +mtk_clk_register_muxes (&pdev->dev, infra_muxes, +ARRAY_SIZE (infra_muxes), node, &mt7986_clk_lock, clk_data); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r) {
drivers/clk/mediatek/clk-mt7986-topckgen.c +2 -1
@@ -303,7 +303,8 @@ static int clk_mt7986_topckgen_probe(struct platform_device *pdev)mtk_clk_register_fixed_clks (top_fixed_clks,ARRAY_SIZE (top_fixed_clks), clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), node, +mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, &mt7986_clk_lock, clk_data);clk_prepare_enable (clk_data->hws[CLK_TOP_SYSAXI_SEL ]->clk);
drivers/clk/mediatek/clk-mt8135.c +10 -8
@@ -536,8 +536,9 @@ static void __init mtk_topckgen_init(struct device_node *node)mtk_clk_register_factors (root_clk_alias,ARRAY_SIZE (root_clk_alias), clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, - &mt8135_clk_lock, clk_data); +mtk_clk_register_composites (NULL , top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt8135_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -553,8 +554,8 @@ static void __init mtk_infrasys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (NULL , node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -579,10 +580,11 @@ static void __init mtk_pericfg_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_PERI_NR_CLK ); -mtk_clk_register_gates (node, peri_gates,ARRAY_SIZE (peri_gates), - clk_data); -mtk_clk_register_composites (peri_clks,ARRAY_SIZE (peri_clks), base, - &mt8135_clk_lock, clk_data); +mtk_clk_register_gates (NULL , node, peri_gates, +ARRAY_SIZE (peri_gates), clk_data); +mtk_clk_register_composites (NULL , peri_clks, +ARRAY_SIZE (peri_clks), base, + &mt8135_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt8167-aud.c +1 -1
@@ -50,7 +50,7 @@ static void __init mtk_audsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_AUD_NR_CLK ); -mtk_clk_register_gates (node, aud_clks,ARRAY_SIZE (aud_clks), clk_data); +mtk_clk_register_gates (NULL , node, aud_clks,ARRAY_SIZE (aud_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt8167-img.c +1 -1
@@ -42,7 +42,7 @@ static void __init mtk_imgsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_IMG_NR_CLK ); -mtk_clk_register_gates (node, img_clks,ARRAY_SIZE (img_clks), clk_data); +mtk_clk_register_gates (NULL , node, img_clks,ARRAY_SIZE (img_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt8167-mfgcfg.c +1 -1
@@ -40,7 +40,7 @@ static void __init mtk_mfgcfg_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_MFG_NR_CLK ); -mtk_clk_register_gates (node, mfg_clks,ARRAY_SIZE (mfg_clks), clk_data); +mtk_clk_register_gates (NULL , node, mfg_clks,ARRAY_SIZE (mfg_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt8167-mm.c +2 -2
@@ -98,8 +98,8 @@ static int clk_mt8167_mm_probe(struct platform_device *pdev) data = &mt8167_mmsys_driver_data; - ret =mtk_clk_register_gates (node, data->gates_clk, data->gates_num, - clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, data->gates_clk, + data->gates_num, clk_data);if (ret)return ret;
drivers/clk/mediatek/clk-mt8167-vdec.c +2 -1
@@ -49,7 +49,8 @@ static void __init mtk_vdecsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_VDEC_NR_CLK ); -mtk_clk_register_gates (node, vdec_clks,ARRAY_SIZE (vdec_clks), clk_data); +mtk_clk_register_gates (NULL , node, vdec_clks,ARRAY_SIZE (vdec_clks), + clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
drivers/clk/mediatek/clk-mt8167.c +7 -5
@@ -937,11 +937,12 @@ static void __init mtk_topckgen_init(struct device_node *node)mtk_clk_register_fixed_clks (fixed_clks,ARRAY_SIZE (fixed_clks), clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), clk_data); +mtk_clk_register_gates (NULL , node, top_clks,ARRAY_SIZE (top_clks), clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, - &mt8167_clk_lock, clk_data); +mtk_clk_register_composites (NULL , top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt8167_clk_lock, clk_data);mtk_clk_register_dividers (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, &mt8167_clk_lock, clk_data);
@@ -966,8 +967,9 @@ static void __init mtk_infracfg_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_IFR_NR_CLK ); -mtk_clk_register_composites (ifr_muxes,ARRAY_SIZE (ifr_muxes), base, - &mt8167_clk_lock, clk_data); +mtk_clk_register_composites (NULL , ifr_muxes, +ARRAY_SIZE (ifr_muxes), base, + &mt8167_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt8173-mm.c +2 -2
@@ -112,8 +112,8 @@ static int clk_mt8173_mm_probe(struct platform_device *pdev) data = &mt8173_mmsys_driver_data; - ret =mtk_clk_register_gates (node, data->gates_clk, data->gates_num, - clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, data->gates_clk, + data->gates_num, clk_data);if (ret)return ret;
drivers/clk/mediatek/clk-mt8173.c +18 -16
@@ -869,8 +869,9 @@ static void __init mtk_topckgen_init(struct device_node *node)mtk_clk_register_fixed_clks (fixed_clks,ARRAY_SIZE (fixed_clks), clk_data);mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), clk_data); -mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, - &mt8173_clk_lock, clk_data); +mtk_clk_register_composites (NULL , top_muxes, +ARRAY_SIZE (top_muxes), base, + &mt8173_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -888,8 +889,8 @@ static void __init mtk_infrasys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (NULL , node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data);mtk_clk_register_factors (infra_divs,ARRAY_SIZE (infra_divs), clk_data); mtk_clk_register_cpumuxes(node, cpu_muxes, ARRAY_SIZE(cpu_muxes),
@@ -918,10 +919,11 @@ static void __init mtk_pericfg_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_PERI_NR_CLK ); -mtk_clk_register_gates (node, peri_gates,ARRAY_SIZE (peri_gates), - clk_data); -mtk_clk_register_composites (peri_clks,ARRAY_SIZE (peri_clks), base, - &mt8173_clk_lock, clk_data); +mtk_clk_register_gates (NULL , node, peri_gates, +ARRAY_SIZE (peri_gates), clk_data); +mtk_clk_register_composites (NULL , peri_clks, +ARRAY_SIZE (peri_clks), base, + &mt8173_clk_lock, clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -1062,8 +1064,8 @@ static void __init mtk_imgsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_IMG_NR_CLK ); -mtk_clk_register_gates (node, img_clks,ARRAY_SIZE (img_clks), - clk_data); +mtk_clk_register_gates (NULL , node, img_clks, +ARRAY_SIZE (img_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);
@@ -1080,8 +1082,8 @@ static void __init mtk_vdecsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_VDEC_NR_CLK ); -mtk_clk_register_gates (node, vdec_clks,ARRAY_SIZE (vdec_clks), - clk_data); +mtk_clk_register_gates (NULL , node, vdec_clks, +ARRAY_SIZE (vdec_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -1097,8 +1099,8 @@ static void __init mtk_vencsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_VENC_NR_CLK ); -mtk_clk_register_gates (node, venc_clks,ARRAY_SIZE (venc_clks), - clk_data); +mtk_clk_register_gates (NULL , node, venc_clks, +ARRAY_SIZE (venc_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
@@ -1114,8 +1116,8 @@ static void __init mtk_vencltsys_init(struct device_node *node) clk_data =mtk_alloc_clk_data (CLK_VENCLT_NR_CLK ); -mtk_clk_register_gates (node, venclt_clks,ARRAY_SIZE (venclt_clks), - clk_data); +mtk_clk_register_gates (NULL , node, venclt_clks, +ARRAY_SIZE (venclt_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt8183-audio.c +2 -2
@@ -75,8 +75,8 @@ static int clk_mt8183_audio_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_AUDIO_NR_CLK ); -mtk_clk_register_gates (node, audio_clks,ARRAY_SIZE (audio_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, audio_clks, +ARRAY_SIZE (audio_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r)
drivers/clk/mediatek/clk-mt8183-mm.c +2 -2
@@ -90,8 +90,8 @@ static int clk_mt8183_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR_CLK ); -mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
drivers/clk/mediatek/clk-mt8183.c +20 -16
@@ -1172,8 +1172,8 @@ static int clk_mt8183_apmixed_probe(struct platform_device *pdev)mtk_clk_register_plls (node, plls,ARRAY_SIZE (plls), clk_data); -mtk_clk_register_gates (node, apmixed_clks,ARRAY_SIZE (apmixed_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, apmixed_clks, +ARRAY_SIZE (apmixed_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
@@ -1238,17 +1238,20 @@ static int clk_mt8183_top_probe(struct platform_device *pdev)mtk_clk_register_factors (top_divs,ARRAY_SIZE (top_divs), top_clk_data); -mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), - node, &mt8183_clk_lock, top_clk_data); +mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, + &mt8183_clk_lock, top_clk_data); -mtk_clk_register_composites (top_aud_muxes,ARRAY_SIZE (top_aud_muxes), - base, &mt8183_clk_lock, top_clk_data); +mtk_clk_register_composites (&pdev->dev, top_aud_muxes, +ARRAY_SIZE (top_aud_muxes), base, + &mt8183_clk_lock, top_clk_data); -mtk_clk_register_composites (top_aud_divs,ARRAY_SIZE (top_aud_divs), - base, &mt8183_clk_lock, top_clk_data); +mtk_clk_register_composites (&pdev->dev, top_aud_divs, +ARRAY_SIZE (top_aud_divs), base, + &mt8183_clk_lock, top_clk_data); -mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), - top_clk_data); +mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), top_clk_data); ret =clk_mt8183_reg_mfg_mux_notifier (&pdev->dev, top_clk_data->hws[CLK_TOP_MUX_MFG ]->clk);
@@ -1267,8 +1270,8 @@ static int clk_mt8183_infra_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_INFRA_NR_CLK ); -mtk_clk_register_gates (node, infra_clks,ARRAY_SIZE (infra_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, infra_clks, +ARRAY_SIZE (infra_clks), clk_data); r =of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data);if (r) {
@@ -1290,8 +1293,8 @@ static int clk_mt8183_peri_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_PERI_NR_CLK ); -mtk_clk_register_gates (node, peri_clks,ARRAY_SIZE (peri_clks), - clk_data); +mtk_clk_register_gates (&pdev->dev, node, peri_clks, +ARRAY_SIZE (peri_clks), clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
@@ -1308,8 +1311,9 @@ static int clk_mt8183_mcu_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MCU_NR_CLK ); -mtk_clk_register_composites (mcu_muxes,ARRAY_SIZE (mcu_muxes), base, - &mt8183_clk_lock, clk_data); +mtk_clk_register_composites (&pdev->dev, mcu_muxes, +ARRAY_SIZE (mcu_muxes), base, + &mt8183_clk_lock, clk_data);return of_clk_add_hw_provider (node, of_clk_hw_onecell_get, clk_data); }
drivers/clk/mediatek/clk-mt8186-mcu.c +2 -1
@@ -65,7 +65,8 @@ static int clk_mt8186_mcu_probe(struct platform_device *pdev) goto free_mcu_data; } - r =mtk_clk_register_composites (mcu_muxes,ARRAY_SIZE (mcu_muxes), base, + r =mtk_clk_register_composites (&pdev->dev, mcu_muxes, +ARRAY_SIZE (mcu_muxes), base,NULL , clk_data);if (r) goto free_mcu_data;
drivers/clk/mediatek/clk-mt8186-mm.c +2 -1
@@ -69,7 +69,8 @@ static int clk_mt8186_mm_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - r =mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data);if (r) goto free_mm_data;
drivers/clk/mediatek/clk-mt8186-topckgen.c +6 -3
@@ -715,17 +715,20 @@ static int clk_mt8186_topck_probe(struct platform_device *pdev)if (r) goto unregister_fixed_clks; - r =mtk_clk_register_muxes (top_mtk_muxes,ARRAY_SIZE (top_mtk_muxes), node, + r =mtk_clk_register_muxes (&pdev->dev, top_mtk_muxes, +ARRAY_SIZE (top_mtk_muxes), node, &mt8186_clk_lock, clk_data);if (r) goto unregister_factors; - r =mtk_clk_register_composites (top_muxes,ARRAY_SIZE (top_muxes), base, + r =mtk_clk_register_composites (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), base, &mt8186_clk_lock, clk_data);if (r) goto unregister_muxes; - r =mtk_clk_register_composites (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, + r =mtk_clk_register_composites (&pdev->dev, top_adj_divs, +ARRAY_SIZE (top_adj_divs), base, &mt8186_clk_lock, clk_data);if (r) goto unregister_composite_muxes;
drivers/clk/mediatek/clk-mt8192-aud.c +2 -1
@@ -87,7 +87,8 @@ static int clk_mt8192_aud_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - r =mtk_clk_register_gates (node, aud_clks,ARRAY_SIZE (aud_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, aud_clks, +ARRAY_SIZE (aud_clks), clk_data);if (r)return r;
drivers/clk/mediatek/clk-mt8192-mm.c +2 -1
@@ -91,7 +91,8 @@ static int clk_mt8192_mm_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - r =mtk_clk_register_gates (node, mm_clks,ARRAY_SIZE (mm_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data);if (r)return r;
drivers/clk/mediatek/clk-mt8192.c +70 -20
149 lines not on this page · raw message
drivers/clk/mediatek/clk-mt8195-apmixedsys.c +2 -1
@@ -124,7 +124,8 @@ static int clk_mt8195_apmixed_probe(struct platform_device *pdev)if (r) goto free_apmixed_data; - r =mtk_clk_register_gates (node, apmixed_clks,ARRAY_SIZE (apmixed_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, apmixed_clks, +ARRAY_SIZE (apmixed_clks), clk_data);if (r) goto unregister_plls;
drivers/clk/mediatek/clk-mt8195-topckgen.c +6 -3
@@ -1262,7 +1262,8 @@ static int clk_mt8195_topck_probe(struct platform_device *pdev)if (r) goto unregister_fixed_clks; - r =mtk_clk_register_muxes (top_mtk_muxes,ARRAY_SIZE (top_mtk_muxes), node, + r =mtk_clk_register_muxes (&pdev->dev, top_mtk_muxes, +ARRAY_SIZE (top_mtk_muxes), node, &mt8195_clk_lock, top_clk_data);if (r) goto unregister_factors;
@@ -1281,12 +1282,14 @@ static int clk_mt8195_topck_probe(struct platform_device *pdev)if (r) goto unregister_muxes; - r =mtk_clk_register_composites (top_adj_divs,ARRAY_SIZE (top_adj_divs), base, + r =mtk_clk_register_composites (&pdev->dev, top_adj_divs, +ARRAY_SIZE (top_adj_divs), base, &mt8195_clk_lock, top_clk_data);if (r) goto unregister_muxes; - r =mtk_clk_register_gates (node, top_clks,ARRAY_SIZE (top_clks), top_clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, top_clks, +ARRAY_SIZE (top_clks), top_clk_data);if (r) goto unregister_composite_divs;
drivers/clk/mediatek/clk-mt8195-vdo0.c +2 -1
@@ -104,7 +104,8 @@ static int clk_mt8195_vdo0_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - r =mtk_clk_register_gates (node, vdo0_clks,ARRAY_SIZE (vdo0_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, vdo0_clks, +ARRAY_SIZE (vdo0_clks), clk_data);if (r) goto free_vdo0_data;
drivers/clk/mediatek/clk-mt8195-vdo1.c +2 -1
@@ -131,7 +131,8 @@ static int clk_mt8195_vdo1_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - r =mtk_clk_register_gates (node, vdo1_clks,ARRAY_SIZE (vdo1_clks), clk_data); + r =mtk_clk_register_gates (&pdev->dev, node, vdo1_clks, +ARRAY_SIZE (vdo1_clks), clk_data);if (r) goto free_vdo1_data;
drivers/clk/mediatek/clk-mt8365-mm.c +2 -3
@@ -81,9 +81,8 @@ static int clk_mt8365_mm_probe(struct platform_device *pdev) clk_data =mtk_alloc_clk_data (CLK_MM_NR_CLK ); - ret =mtk_clk_register_gates_with_dev (node, mm_clks, -ARRAY_SIZE (mm_clks), clk_data, - dev); + ret =mtk_clk_register_gates (dev, node, mm_clks, +ARRAY_SIZE (mm_clks), clk_data);if (ret) goto err_free_clk_data;
drivers/clk/mediatek/clk-mt8365.c +8 -6
@@ -947,12 +947,13 @@ static int clk_mt8365_top_probe(struct platform_device *pdev)if (ret) goto unregister_fixed_clks; - ret =mtk_clk_register_muxes (top_muxes,ARRAY_SIZE (top_muxes), node, + ret =mtk_clk_register_muxes (&pdev->dev, top_muxes, +ARRAY_SIZE (top_muxes), node, &mt8365_clk_lock, clk_data);if (ret) goto unregister_factors; - ret =mtk_clk_register_composites (top_misc_mux_gates, + ret =mtk_clk_register_composites (&pdev->dev, top_misc_mux_gates,ARRAY_SIZE (top_misc_mux_gates), base, &mt8365_clk_lock, clk_data);if (ret)
@@ -1019,8 +1020,8 @@ static int clk_mt8365_infra_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - ret =mtk_clk_register_gates (node, ifr_clks,ARRAY_SIZE (ifr_clks), - clk_data); + ret =mtk_clk_register_gates (&pdev->dev, node, ifr_clks, +ARRAY_SIZE (ifr_clks), clk_data);if (ret) goto free_clk_data;
@@ -1080,8 +1081,9 @@ static int clk_mt8365_mcu_probe(struct platform_device *pdev)if (!clk_data)return -ENOMEM ; - ret =mtk_clk_register_composites (mcu_muxes,ARRAY_SIZE (mcu_muxes), - base, &mt8365_clk_lock, clk_data); + ret =mtk_clk_register_composites (&pdev->dev, mcu_muxes, +ARRAY_SIZE (mcu_muxes), base, + &mt8365_clk_lock, clk_data);if (ret) goto free_clk_data;
drivers/clk/mediatek/clk-mtk.c +114 -13
127 lines not on this page · raw message
drivers/firmware/efi/libstub/x86-stub.c +17 -41
58 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +46 -26
72 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +52 -26
78 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_optc.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/i915_vma.c +35 -7
42 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-visionox-rm69299.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/hid/hid-kye.c +31 -31
62 lines not on this page · raw message
drivers/net/dsa/mt7530.c +43 -15
58 lines not on this page · raw message
drivers/net/ethernet/intel/ice/ice_tc_lib.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +16 -11
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/am65-cpsw-nuss.c +18 -0
Lines of this file are not shown. View the raw message.
drivers/pci/bus.c +32 -17
49 lines not on this page · raw message
drivers/pci/pci.c +52 -26
78 lines not on this page · raw message
drivers/pci/quirks.c +57 -11
68 lines not on this page · raw message
drivers/pci/switch/switchtec.c +97 -61
158 lines not on this page · raw message
drivers/thunderbolt/switch.c +39 -9
48 lines not on this page · raw message
net/bridge/netfilter/nf_conntrack_bridge.c +10 -4
Lines of this file are not shown. View the raw message.
sound/soc/ti/omap3pandora.c +23 -40
63 lines not on this page · raw message
sound/usb/mixer_scarlett2.c new file +4391 -0
4,391 lines not on this page · raw message
sound/usb/mixer_scarlett_gen2.c deleted +0 -4274
4,274 lines not on this page · raw message
sound/usb/mixer_scarlett_gen2.h deleted +0 -7
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/event/subsystem-enable.tc +3 -3
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.