summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-15PCI: vmd: Add feature to scan BIOS-enumerated devicesNirmal Patel
Newer VMD with device ID 0x28C1 has unique settings compared to its predecessor where BIOS enumerates the entire VMD device tree and assigns respective configurations. VMD configuration BAR0 carries over from GNR legacy VMD as the mechanism to access the configuration space of the devices owned by VMD. The size of this window is fixed at 256 MB, where each function consumes 4 KB and every bus consumes 1 MB. The shadow and scratchpad registers have been relocated from the VMD configuration space to the VMD MMIO space in VMD BAR4/BAR5, otherwise refers to as MEMBAR2 or MSI-X bar. VMD MSI-X remapping enable/disable is no longer supported. On this new device, simply obtain the bus hide range and shadow register values set by BIOS and perform a bus scan. Also refactor vmd_enable_domain(). Signed-off-by: Nirmal Patel <nirmal.patel@linux.intel.com> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Link: https://patch.msgid.link/20260629165025.268836-1-nirmal.patel@linux.intel.com
2026-07-15README: remove out of place emdashesEvan Castillo
This removes emdashes in the README. In other places in the README, colons are used. Signed-off-by: Evan Castillo <eycastio@icloud.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260627210938.85899-1-eycastio@icloud.com>
2026-07-15docs: ABI: README: fix grammatical errorSeongjun Hong
The Note describing how to write ABI documentation fields contained a typo. "The fields should be use a simple notation" should be "The fields should use a simple notation". Signed-off-by: Seongjun Hong <hsj0512@snu.ac.kr> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260701125501.93170-1-hsj0512@snu.ac.kr>
2026-07-15docs: submitting-patches: Fix section structure around DCOAkira Yokosawa
Commit 5903019b2a5e ("Documentation/SubmittingPatches: convert it to ReST markup") made "DCO 1.1" a subsection under the section "Sign your work - ...". However, the DCO text is meant to be referenced in the section. Furthermore, in HTML and PDF docs, paragraphs following the DCO: then you just add a line saying: Signed-off-by: [...] [...] as it was propagated to the maintainers and ultimately to Linus, with the first SoB entry signalling primary authorship of a single author. appear to belong to the DCO, rather than to "Sign your work - ..." where it should. In reST (and other documentation tools), once you start a subsection under a section, there is no way to go back to the section. Fix the section structure by making the DCO a literal block, with indent changes made in commit 5903019b2a5e reverted. While at it, fix the same issue at "Reviewer's statement of oversight". Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Tested-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <5f320260-5cb0-42cc-949a-c92404124618@gmail.com>
2026-07-15Documentation/kernel-parameters: fix bracketsManuel Ebner
Add a few missing ']'s and a ')'. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703080806.223782-2-manuelebner@mailbox.org>
2026-07-15sched/Documentation: fix codeManuel Ebner
checkpatch.pl returns 'trailing statements should be on next line' for this file. Do as told. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703115114.229848-3-manuelebner@mailbox.org>
2026-07-15docs: pt_BR: translate process/adding-syscalls.rstDaniel Pereira
Translate the adding-syscalls.rst document into Brazilian Portuguese (pt_BR) to improve accessibility for native Portuguese-speaking developers contributing to the Linux kernel ecosystem. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-8-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: process: translate contribution maturity modelDaniel Pereira
Translate the 'contribution-maturity-model' documentation into Brazilian Portuguese, ensuring strict alignment with the upstream source structure and language. The translation covers the Open Source engagement framework proposed by the Technical Advisory Board (TAB), detailing Levels 0 through 5 of organizational upstream maturity, community metrics, and engineer career alignment. Additionally, maintain strict 80-column line length restrictions across the entire file to ensure proper Sphinx HTML rendering. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-7-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: process: translate botching-up-ioctls guideDaniel Pereira
Translate the 'botching-up-ioctls' documentation into Brazilian Portuguese, ensuring precise technical alignment with the upstream source guidelines. The translation covers critical driver-private API design concepts, including fixed-sized integers, structure padding, error path validation rules, and handling asynchronous hardware timeouts. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-6-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: translate backporting.rst documentationDaniel Pereira
Translate the 'backporting' guide into Brazilian Portuguese, ensuring strict alignment with the upstream content and structure. The translation covers conflict resolution strategies, understanding git conflict markers, and the process of submitting backports to the stable kernel tree. Additionally, maintain the strict 80-column line length limit across the entire file to ensure proper Sphinx rendering. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-5-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: Add translation for applying-patches and update indexDaniel Pereira
Translate the 'applying-patches' documentation into Brazilian Portuguese, ensuring alignment with the upstream structural guidelines. Additionally, add the translated document to the main process index toctree to integrate it into the documentation build tree. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-4-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: process: translate 7.AdvancedTopics and 8.ConclusionDaniel Pereira
Translate the "Advanced topics" and "Conclusion" sections into Brazilian Portuguese, creating the 7.AdvancedTopics.rst and 8.Conclusion.rst documents, and updating development-process.rst to include them. This translation covers patch management practices with Git, community guidelines for patch review, and the closing overview of the kernel development cycle. Ensure all text conforms to the strict 80-column line length limit to maintain Sphinx rendering alignment. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-3-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: process: Translate the patch followthrough guideDaniel Pereira
Translates the section 6.followthrough.rst to Brazilian Portuguese for the process directory. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260703170552.174764-2-danielmaraboo@gmail.com>
2026-07-15Documentation: admin-guide: fix a doc for efi_no_storage_paranoia the "5KB" ↵Iwata Koki
instead of the "50%" The documentation for 'efi_no_storage_paranoia' incorrectly states the kernel cannot use "more than 50%" of the EFI variable storage. This percentage-based explanation has been outdated since commit f8b8404337de ("Modify UEFI anti-bricking code") introduced a fixed 5KB minimum reserve threshold (EFI_MIN_RESERVE) in arch/x86/platform/efi/quirks.c. At that time, the documentation was not updated to reflect this change. Update the documentation to reflect the "5KB" instead of the "50%". Signed-off-by: Koki Iwata <iwata.koki@fujitsu.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260706050534.1653916-1-iwata.koki@fujitsu.com>
2026-07-15sched/doc: Fix stale em_pd_energy() reference in sched-energyLiang Luo
The scheduler energy-aware placement documentation refers to the em_pd_energy() API, which was renamed to em_cpu_energy() in commit f0b5694791ce ("PM / EM: change name of em_pd_energy to em_cpu_energy"). Update the reference to the current name. em_cpu_energy() is the EM helper that compute_energy() in kernel/sched/fair.c calls to estimate a performance domain's energy consumption (defined in include/linux/energy_model.h). Sync the zh_CN translation, which carries the same stale name. Signed-off-by: Liang Luo <luoliang@kylinos.cn> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com> Reviewed-by: Alex Shi <alexs@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260707085335.2942128-1-luoliang@kylinos.cn>
2026-07-15docs: dma-api: remove needless bracketManuel Ebner
Remove single ')'. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260708194821.357548-2-manuelebner@mailbox.org>
2026-07-15errseq: add missing bracketManuel Ebner
Add missing ')' to nested functions of code block. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260709092900.380694-1-manuelebner@mailbox.org>
2026-07-15Docs: list: Fix bracketManuel Ebner
Add missing ')' to sentence. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260709115008.387869-3-manuelebner@mailbox.org>
2026-07-15docs: packing: fix bracketsManuel Ebner
Add two ')' to nested functions in code block. Fixes: a9ad2a8dfb43 ("lib: packing: document recently added APIs") Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260710060346.417669-2-manuelebner@mailbox.org>
2026-07-15Revert "docs: allow inline literals in paragraphs to wrap to prevent overflow"Jonathan Corbet
This reverts commit f2679ac773899f5fdea0b68d5077eef5f88dfd42. This change causes truly unreadable breaking of literal strings in a number of settings. Reported-by: Daniel Lundberg Pedersen <dlp@qtec.com> Link: https://lore.kernel.org/all/c542aaf7-6a40-4730-8bd6-208c9fe932d5@qtec.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2026-07-15Documentation: locking.rst: update deprecated functionManuel Ebner
replace strcpy() with strscpy() as suggested in deprecated.rst Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531175452.272136-2-manuelebner@mailbox.org>
2026-07-15docs: pt_BR: update netdevsim section in maintainer-netdev.rstAmanda Corrêa
Update the Brazilian Portuguese translation of maintainer-netdev.rst to align with the latest English version. Key changes include: - Updated the netdevsim section to reflect upstream changes - Added guidance on netdevsim-based API testing - Fixed minor spacing and formatting issues Signed-off-by: Amanda Corrêa <amandacorreasilvax@gmail.com> Acked-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260616005234.11036-1-amandacorreasilvax@gmail.com>
2026-07-15docs: pt_BR: Translate patch posting documentationDaniel Pereira
Translate the chapter regarding the process of formatting and sending patches ("5.Posting.rst") into Brazilian Portuguese. Also, update the main index in "development-process.rst" to include the newly translated document into the documentation tree. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260614235044.42810-3-danielmaraboo@gmail.com>
2026-07-15docs: pt_BR: Translate 4.coding.rst into PortugueseDaniel Pereira
Translate the chapter regarding coding standards and patch formatting rules ("4.Coding.rst") into Brazilian Portuguese. This translation helps Portuguese-speaking developers better understand the core guidelines required for kernel code contributions. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260614235044.42810-2-danielmaraboo@gmail.com>
2026-07-15Documentation: dev-tools: scripts/container prefers PodmanCoiby Xu
Obviously scripts/container prefers Podman over Docker. Putting podman before docker also makes it consistent with following parts of the doc and the help text of the tool. Signed-off-by: Coiby Xu <coiby.xu@gmail.com> Reviewed-by: Guillaume Tucker <gtucker@gtucker.io> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260624013850.1853171-1-coiby.xu@gmail.com>
2026-07-15docs: kdoc: fix troff output description typoYousef Alhouseen
Fix a typo in the ManFormat documentation string that describes the generated troff title header fields. Signed-off-by: Yousef Alhouseen <alhouseenyousef@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260624122448.4853-1-alhouseenyousef@gmail.com>
2026-07-15Docs: SMP: add an SMP docbook chapterRandy Dunlap
Add SMP primitives to the core-api documentation. Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Thomas Gleixner <tglx@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260625210331.1050915-1-rdunlap@infradead.org>
2026-07-15Docs: conf.py: fix typos in commentsRandy Dunlap
Change "variabled" to "variables". Change "relative patch" to "relative path". Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260626005248.1121464-1-rdunlap@infradead.org>
2026-07-15docs: pagemap: fix flags location, member name and sample codeZenghui Yu
The userland visible page flags (KPF_*) were initially moved to include/linux/kernel-page-flags.h in commit 1a9b5b7fe0c5 ("mm: export stable page flags"), and later moved to include/uapi/linux/kernel-page-flags.h in commit 607ca46e97a1 ("UAPI: (Scripted) Disintegrate include/linux"). Update the doc to reflect the current location of these flags. The member @walk_end of struct pm_scan_arg {} was wrongly written as "end_walk". The first sample code of the PAGEMAP_SCAN ioctl wrongly used the PM_SCAN_CHECK_WPASYNC flag twice, instead of the PM_SCAN_WP_MATCHING flag. The second one included the wrong category in the required mask - PAGE_IS_FILE should be used instead of PAGE_IS_SWAPPED as per the intention. Fix them all together. Signed-off-by: Zenghui Yu <zenghui.yu@linux.dev> Reviewed-by: Lorenzo Stoakes <ljs@kernel.org> Reviewed-by: SeongJae Park <sj@kernel.org> Acked-by: David Hildenbrand (Arm) <david@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260626162710.25844-1-zenghui.yu@linux.dev>
2026-07-15Documentation: admin-guide: fix brackets and translation issueManuel Ebner
Add missing ']' and replace 'neuer Name' with 'new Name'. Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260629110812.69420-2-manuelebner@mailbox.org>
2026-07-15docs: kernel-hacking: fix typoManuel Ebner
'GP_KERNEL' -> 'GFP_KERNEL' Remove trailing '`' without clear purpose Signed-off-by: Manuel Ebner <manuelebner@mailbox.org> Reviewed-by: SJ Park <sj@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260629152912.86500-2-manuelebner@mailbox.org>
2026-07-15PNP: ACPI: Stop using acpi_device_name()Rafael J. Wysocki
Since acpi_device_name() checked by pnpacpi_add_device() is never populated, its length is always zero and the codition checking it is always false. Accordingly, drop that condition and use acpi_device_bid(device) for setting dev->name in pnpacpi_add_device() unconditionally. No intentional functional impact. This will facilitate the removal of device_name from struct acpi_device_pnp in the future. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://patch.msgid.link/23191780.EfDdHjke4D@rafael.j.wysocki
2026-07-15ACPI: PAD: xen: Stop setting acpi_device_name/class()Rafael J. Wysocki
The driver sets acpi_device_name() and acpi_device_class() which are never read afterward, so make it stop doing that and drop the symbols defined specifically for this purpose. No intentional functional impact. This will facilitate the removal of device_name and device_class from struct acpi_device_pnp in the future. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Juergen Gross <jgross@suse.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://patch.msgid.link/2384190.iZASKD2KPV@rafael.j.wysocki
2026-07-15platform/loongarch: laptop: Stop setting acpi_device_class()Rafael J. Wysocki
The driver populates acpi_device_class() which is never read afterward, so make it stop doing that and drop the symbol defined specifically for this purpose. No intentional functional impact. This will facilitate the removal of device_class from struct acpi_device_pnp in the future. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://patch.msgid.link/2444678.ElGaqSPkdT@rafael.j.wysocki
2026-07-15fortify: Disable -Wstringop-overread in testsNathan Chancellor
clang recently added support for -Wstringop-overread [1], which is on by default like -Wfortify-source. This breaks the usage of -Werror in the fortify tests, resulting in the following false positive warnings in the kernel build: warning: unsafe memcmp() usage lacked '__read_overflow2' warning in lib/test_fortify/read_overflow2-memcmp.c warning: unsafe memcmp() usage lacked '__read_overflow' warning in lib/test_fortify/read_overflow-memcmp.c warning: unsafe memchr() usage lacked '__read_overflow' warning in lib/test_fortify/read_overflow-memchr.c Examining the fortify test logs shows a warning like the following in each of the failed logs: In file included from lib/test_fortify/read_overflow2-memcmp.c:5: lib/test_fortify/test_fortify.h:34:2: error: 'memcmp' reading 17 bytes from a region of size 16 [-Werror,-Wstringop-overread] 34 | TEST; | ^ lib/test_fortify/read_overflow2-memcmp.c:3:2: note: expanded from macro 'TEST' 3 | memcmp(large, small, sizeof(small) + 1) | ^ 1 error generated. Disable -Wstringop-overread for the fortify tests, as it defeats the purpose of testing the Linux specific implementation of fortify, like -Wfortify-source. Cc: stable@vger.kernel.org Closes: https://github.com/ClangBuiltLinux/linux/issues/2168 Link: https://github.com/llvm/llvm-project/commit/86f2e71cb8d165b59ad31a442b2391e23826133e [1] Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://patch.msgid.link/20260623-fix-test_fortify-for-clang-stringop-overread-v1-1-15ee8342a953@kernel.org Signed-off-by: Kees Cook <kees@kernel.org>
2026-07-15ASoC: bt-sco: fix duplicate DAPM widget names for wideband DAIShengjiu Wang
The bt-sco-pcm-wb DAI uses the same stream_name strings as bt-sco-pcm ("Playback" and "Capture"). This causes duplicate DAPM AIF widget names within the same component, leading to debugfs warnings: debugfs: 'Playback' already exists in 'dapm' debugfs: 'Capture' already exists in 'dapm' Give the wideband DAI distinct stream names ("WB Playback" and "WB Capture") and add corresponding DAPM AIF widgets and routes for them. Fixes: 5947e1b4992e ("ASoC: bt-sco: extend rate and add a general compatible string") Assisted-by: VeroCoder:claude-sonnet-4-5 Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://patch.msgid.link/20260715100620.1387159-1-shengjiu.wang@oss.nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-07-15MAINTAINERS: add myself as reviewer of software node supportBartosz Golaszewski
I've been working extensively on software nodes lately and introduced some changes. Add myself as reviewer so that I can help review any new proposed changes. Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Link: https://patch.msgid.link/20260713-swnode-fw-devlink-v4-4-d4f2dee27ad9@oss.qualcomm.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-07-15software node: add kunit tests for fw_devlink supportBartosz Golaszewski
Add a kunit test suite for fw_devlink support for software nodes. Most cases call add_links() directly and inspect the resulting fwnode supplier/consumer lists: a single reference, multiple references, a reference to an unregistered node, a "remote-endpoint" reference and a reference array. The last case is end-to-end - it registers real consumer and supplier platform devices together with their drivers, adds the consumer first and checks that fw_devlink defers its probe until the supplier has been bound. Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: David Gow <david@davidgow.net> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Link: https://patch.msgid.link/20260713-swnode-fw-devlink-v4-3-d4f2dee27ad9@oss.qualcomm.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-07-15software node: add fw_devlink supportBartosz Golaszewski
Software nodes can be used to describe supplier-consumer relationships between devices they represent using reference property entries. Unlike for OF-nodes, driver core cannot yet use these references to create a probe order that avoids needless probe deferrals on missing providers. Implement software_node_add_links() modelled on of_fwnode_add_links(). For every DEV_PROP_REF property we resolve each referenced supplier and create an fwnode link from the node to it. The driver core later promotes these to device links and defers the consumer until the suppliers are ready. There's no allowlist like the one DT needs - devicetree phandles appear in plenty of non-supplier contexts, but a software node only carries a reference property when its author explicitly points at another node, so we treat every reference as an intentional supplier dependency and link all of them. Graph "remote-endpoint" references are skipped for now: they go 2-ways between endpoint nodes and would create graph cycles without the port-parent lifting DT does via get_con_dev(). References to suppliers that aren't registered yet and self-references are ignored. fw_devlink resolves the supplier device through fwnode->dev but the core only records the owning device on the primary fwnode. When the software node is a device's secondary fwnode, mirror the device pointer onto it in software_node_notify() so the consumer can actually find the supplier instead of deferring forever. While at it: purge the fwnode links in software_node_release() now that software nodes can own them. Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Link: https://patch.msgid.link/20260713-swnode-fw-devlink-v4-2-d4f2dee27ad9@oss.qualcomm.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-07-15kunit: provide a set of fwnode-oriented helpersBartosz Golaszewski
Provide three new kunit-managed helpers for test cases that need to register/create dynamic software nodes. Reviewed-by: David Gow <david@davidgow.net> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Link: https://patch.msgid.link/20260713-swnode-fw-devlink-v4-1-d4f2dee27ad9@oss.qualcomm.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-07-15cpufreq: schedutil: Fix self-contradictory comment in sugov_iowait_apply()Zhongqiu Han
The kerneldoc of sugov_iowait_apply() says the IO boost value is increased in sugov_iowait_apply() and, in the same sentence, that it is decreased by the same function. That is self-contradictory, and the first part is wrong: sugov_iowait_apply() only decreases the boost. The boost is actually increased in sugov_iowait_boost(). Fix the comment to name sugov_iowait_boost() as the place where the boost is increased, so it matches the code. No functional change. Fixes: fd7d5287fd65 ("cpufreq: schedutil: Cleanup and document iowait boost") Signed-off-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com> Reviewed-by: Christian Loehle <christian.loehle@arm.com> Link: https://patch.msgid.link/20260703092433.4080165-1-zhongqiu.han@oss.qualcomm.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-07-15Documentation: admin-guide: cpufreq: fix sampling_rate example commandwangxiaodong
The example shell command for setting ondemand's sampling_rate wraps an arithmetic expansion $((...)) in command-substitution backticks. The arithmetic result is then executed as a command, which fails and writes an empty value. Drop the surrounding backticks so the computed value is passed to echo as intended. Fixes: e54ac586674d ("cpufreq: editing corrections to cpufreq.rst") Signed-off-by: wangxiaodong <wangxiaodong827546786@gmail.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com> [ rjw: Subject tweak ] Link: https://patch.msgid.link/20260621022515.10137-1-wangxiaodong827546786@gmail.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-07-15cpufreq: intel_pstate: Move two functions closer to callersRafael J. Wysocki
Move intel_pstate_set_pstate() and intel_pstate_set_min_pstate() closer to their first callers. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> [ rjw: Changelog adjustment ] Link: https://patch.msgid.link/3433588.44csPzL39Z@rafael.j.wysocki Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-07-15cpufreq: intel_pstate: Consolidate frequency values computationRafael J. Wysocki
Update intel_pstate_get_cpu_pstates() to use intel_pstate_update_freq_limits() for computing the max and turbo frequency values in all cases, including non-hybrid HWP and HWP disabled. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3059329.e9J7NaK4W3@rafael.j.wysocki
2026-07-15cpufreq: intel_pstate: Introduce intel_pstate_update_freq_limits()Rafael J. Wysocki
Introduce a new helper function, intel_pstate_update_freq_limits(), for updating the max and turbo frequency values for the given CPU after updating the corresponding P-states. Use it in intel_pstate_get_hwp_cap() and intel_pstate_get_cpu_pstates(), in the latter case instead of the direct updates of the max and turbo frequency values in intel_pstate_hybrid_hwp_adjust(). No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/2277328.irdbgypaU6@rafael.j.wysocki
2026-07-15cpufreq: intel_pstate: Fix setting minimum P-state at init timeRafael J. Wysocki
If HWP is enabled, writes to MSR_IA32_PERF_CTL have no effect, so intel_pstate_get_cpu_pstates() should not attempt to call intel_pstate_set_min_pstate() to set the minimum P-state for the given CPU in that case. Accordingly, remove the intel_pstate_set_min_pstate() call from intel_pstate_get_cpu_pstates() and make both intel_pstate_cpu_init() and intel_cpufreq_cpu_init() call that function in their non-HWP code paths. The HWP code path in intel_pstate_cpu_init() does not need to update the current P-state of the CPU directly at all because it is taken care of the processor automatically, but the HWP code path of intel_cpufreq_cpu_init() should update it in principle to initialize the DESIRED_PERF field in MSR_HWP_REQUEST. For this purpose, make it call intel_cpufreq_hwp_update() and pass the minimum P-state limit to it as the current target value along with the current minimum and maximum limits. Fixes: f6ebbcf08f37 ("cpufreq: intel_pstate: Implement passive mode with HWP enabled") Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/5090465.GXAFRqVoOG@rafael.j.wysocki
2026-07-15cpufreq: intel_pstate: Rename INTEL_PSTATE_HWP_BROADWELLRafael J. Wysocki
Since the only role of INTEL_PSTATE_HWP_BROADWELL is to indicate that hybrid HWP should not be used, rename it to INTEL_PSTATE_HWP_NOT_HYBRID. No functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3431755.44csPzL39Z@rafael.j.wysocki
2026-07-15cpufreq: intel_pstate: Simplify HWP handling on BroadwellRafael J. Wysocki
After commit de5bcf404ace ("cpufreq: intel_pstate: Clean up frequency computations"), the Broadwell HWP mode does not actually do anything useful because intel_pstate_get_hwp_cap() is called in intel_pstate_verify_cpu_policy() without checking the Broadwell mode and it overrides the initial turbo and max pstate values read from MSR_PLATFORM_INFO (the minimum P-state value still comes from MSR_PLATFORM_INFO if HWP is used even without the Broadwell mode). Moreover, hwp_cap_cached is used in some places for updating MSR_HWP_REQUEST without checking the Broadwell mode either. Effectively, the only difference made by the Broadwell HWP mode is skipping the hybrid initialization which may as well be achieved by avoiding to set pstate_funcs.get_cpu_scaling on Broadwell. Link: https://sashiko.dev/#/patchset/6005456.DvuYhMxLoT%40rafael.j.wysocki Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3057514.e9J7NaK4W3@rafael.j.wysocki
2026-07-15cpufreq: intel_pstate: Adjust the .adjust_perf() driver callbackRafael J. Wysocki
In some cases, the processor may not actually stick to the "desired" performance level programmed through the driver's .adjust_perf() callback and may go above it, which may not be desirable (for instance, there may be a UCLAMP_MAX limit set for the task currently running on the given CPU which should be respected). Address that by adjusting the .adjust_perf() callback to take an additional argument, max_perf, representing the maximum allowed performance level of the CPU and update the intel_pstate driver to take that argument into account as appropriate. Accordingly, adjust cpufreq_driver_adjust_perf() and the other existing user of .adjust_perf(), which is the amd-pstate driver (but the behavior of that driver is not changed). While at it, also update the cpufreq_driver_adjust_perf() documentation to reflect this change and some previous code changes that have not been taken into account in it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Link: https://patch.msgid.link/6277654.lOV4Wx5bFT@rafael.j.wysocki [ rjw: Adjusted Rust function formatting ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-07-15s390/perf_cpum_cf: Add missing array_index_nospec() to __hw_perf_event_init()Sumanth Korikkar
ev variable is userspace controlled via event->attr.config and used as an array index after bounds checking, but without speculation barriers. Add the missing array_index_nospec() call to prevent speculative execution. Cc: stable@vger.kernel.org Fixes: 212188a596d1 ("[S390] perf: add support for s390x CPU counters") Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Acked-by: Thomas Richter <tmricht@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>