| c371f62d | 11-Feb-2026 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'pwm/for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux
Pull pwm updates from Uwe Kleine-König: "There are a few patches adapting to changes in Rust land which s
Merge tag 'pwm/for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux
Pull pwm updates from Uwe Kleine-König: "There are a few patches adapting to changes in Rust land which seems to be the norm since there is a pwm driver written in Rust. Other than that just a few cleanups and a single fix for the tiehrpwm driver that came in too late for making it into v6.19.
Thanks to Andy Shevchenko, Bartosz Golaszewski, Daniel Almeida and Michal Wilczynski for reviews in this cycle, and to Alice Ryhl, Ben Zong-You Xie, Gokul Praveen, Kari Argillander, Markus Probst, Raag Jadav, Shankari Anand, Tamir Duberstein and Vladimir Zapolskiy for code contributions"
* tag 'pwm/for-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: pwm: Remove redundant check in pwm_ops_check() pwm: tiehrpwm: Enable pwmchip's parent device before setting configuration pwm: Update MAINTAINER entry rust: pwm: Add __rust_helper to helpers rust: pwm: Simplify to_result call sites and unsafe blocks rust: pwm: Fix potential memory leak on init error dt-bindings: pwm: nxp,lpc32xx-pwm: Specify clocks property as mandatory pwm: th1520: Replace `kernel::c_str!` with C-Strings pwm: dwc: Use size macro pwm: Emit native configuration in /sys/kernel/debug/pwm rust: pwm: Add UnregisteredChip wrapper around Chip rust: pwm: Update ARef and AlwaysRefCounted imports to use sync::aref
show more ...
/linux/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml/linux/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml/linux/Documentation/devicetree/bindings/iio/adc/adi,ad4695.yaml/linux/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml/linux/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml/linux/Documentation/devicetree/bindings/spi/allwinner,sun4i-a10-spi.yaml/linux/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml/linux/Documentation/devicetree/bindings/spi/andestech,ae350-spi.yaml/linux/Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml/linux/Documentation/devicetree/bindings/spi/axiado,ax3000-spi.yaml/linux/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml/linux/Documentation/devicetree/bindings/spi/faraday,ftssp010.yaml/linux/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml/linux/Documentation/devicetree/bindings/spi/nxp,imx94-xspi.yaml/linux/Documentation/devicetree/bindings/spi/nxp,lpc3220-spi.yaml/linux/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml/linux/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml/linux/Documentation/devicetree/bindings/spi/spi-xilinx.yaml/linux/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml/linux/Documentation/spi/index.rst/linux/Documentation/spi/multiple-data-lanes.rst/linux/MAINTAINERS/linux/drivers/pwm/core.c/linux/drivers/pwm/pwm-dwc.c/linux/drivers/pwm/pwm-tiehrpwm.c/linux/drivers/pwm/pwm_th1520.rs/linux/drivers/spi/Kconfig/linux/drivers/spi/Makefile/linux/drivers/spi/atmel-quadspi.c/linux/drivers/spi/spi-airoha-snfi.c/linux/drivers/spi/spi-altera-platform.c/linux/drivers/spi/spi-amlogic-spifc-a1.c/linux/drivers/spi/spi-amlogic-spisg.c/linux/drivers/spi/spi-apple.c/linux/drivers/spi/spi-ar934x.c/linux/drivers/spi/spi-armada-3700.c/linux/drivers/spi/spi-aspeed-smc.c/linux/drivers/spi/spi-atcspi200.c/linux/drivers/spi/spi-ath79.c/linux/drivers/spi/spi-atmel.c/linux/drivers/spi/spi-axi-spi-engine.c/linux/drivers/spi/spi-axiado.c/linux/drivers/spi/spi-axiado.h/linux/drivers/spi/spi-bcm-qspi.c/linux/drivers/spi/spi-bcm2835.c/linux/drivers/spi/spi-bcm2835aux.c/linux/drivers/spi/spi-bcm63xx-hsspi.c/linux/drivers/spi/spi-bcm63xx.c/linux/drivers/spi/spi-bcmbca-hsspi.c/linux/drivers/spi/spi-cadence-quadspi.c/linux/drivers/spi/spi-cadence-xspi.c/linux/drivers/spi/spi-cadence.c/linux/drivers/spi/spi-cavium-octeon.c/linux/drivers/spi/spi-cavium-thunderx.c/linux/drivers/spi/spi-clps711x.c/linux/drivers/spi/spi-cs42l43.c/linux/drivers/spi/spi-davinci.c/linux/drivers/spi/spi-dln2.c/linux/drivers/spi/spi-dw-core.c/linux/drivers/spi/spi-dw-mmio.c/linux/drivers/spi/spi-ep93xx.c/linux/drivers/spi/spi-falcon.c/linux/drivers/spi/spi-fsi.c/linux/drivers/spi/spi-fsl-dspi.c/linux/drivers/spi/spi-fsl-espi.c/linux/drivers/spi/spi-fsl-lib.c/linux/drivers/spi/spi-fsl-lpspi.c/linux/drivers/spi/spi-geni-qcom.c/linux/drivers/spi/spi-gpio.c/linux/drivers/spi/spi-gxp.c/linux/drivers/spi/spi-hisi-kunpeng.c/linux/drivers/spi/spi-img-spfi.c/linux/drivers/spi/spi-imx.c/linux/drivers/spi/spi-ingenic.c/linux/drivers/spi/spi-lantiq-ssc.c/linux/drivers/spi/spi-ljca.c/linux/drivers/spi/spi-loongson-core.c/linux/drivers/spi/spi-lp8841-rtc.c/linux/drivers/spi/spi-mem.c/linux/drivers/spi/spi-meson-spicc.c/linux/drivers/spi/spi-meson-spifc.c/linux/drivers/spi/spi-microchip-core-spi.c/linux/drivers/spi/spi-mpc512x-psc.c/linux/drivers/spi/spi-mpc52xx-psc.c/linux/drivers/spi/spi-mpc52xx.c/linux/drivers/spi/spi-mpfs.c/linux/drivers/spi/spi-mt65xx.c/linux/drivers/spi/spi-mt7621.c/linux/drivers/spi/spi-mtk-nor.c/linux/drivers/spi/spi-mtk-snfi.c/linux/drivers/spi/spi-mux.c/linux/drivers/spi/spi-mxic.c/linux/drivers/spi/spi-npcm-fiu.c/linux/drivers/spi/spi-npcm-pspi.c/linux/drivers/spi/spi-nxp-fspi.c/linux/drivers/spi/spi-nxp-xspi.c/linux/drivers/spi/spi-oc-tiny.c/linux/drivers/spi/spi-orion.c/linux/drivers/spi/spi-pl022.c/linux/drivers/spi/spi-pxa2xx.c/linux/drivers/spi/spi-qcom-qspi.c/linux/drivers/spi/spi-qpic-snand.c/linux/drivers/spi/spi-qup.c/linux/drivers/spi/spi-rb4xx.c/linux/drivers/spi/spi-realtek-rtl-snand.c/linux/drivers/spi/spi-realtek-rtl.c/linux/drivers/spi/spi-rockchip-sfc.c/linux/drivers/spi/spi-rockchip.c/linux/drivers/spi/spi-rspi.c/linux/drivers/spi/spi-rzv2h-rspi.c/linux/drivers/spi/spi-rzv2m-csi.c/linux/drivers/spi/spi-s3c64xx.c/linux/drivers/spi/spi-sc18is602.c/linux/drivers/spi/spi-sg2044-nor.c/linux/drivers/spi/spi-sh-hspi.c/linux/drivers/spi/spi-sh-msiof.c/linux/drivers/spi/spi-sifive.c/linux/drivers/spi/spi-slave-mt27xx.c/linux/drivers/spi/spi-sn-f-ospi.c/linux/drivers/spi/spi-sprd-adi.c/linux/drivers/spi/spi-sprd.c/linux/drivers/spi/spi-st-ssc4.c/linux/drivers/spi/spi-stm32-ospi.c/linux/drivers/spi/spi-stm32-qspi.c/linux/drivers/spi/spi-stm32.c/linux/drivers/spi/spi-sun4i.c/linux/drivers/spi/spi-sun6i.c/linux/drivers/spi/spi-sunplus-sp7021.c/linux/drivers/spi/spi-synquacer.c/linux/drivers/spi/spi-tegra114.c/linux/drivers/spi/spi-tegra20-sflash.c/linux/drivers/spi/spi-tegra20-slink.c/linux/drivers/spi/spi-tegra210-quad.c/linux/drivers/spi/spi-ti-qspi.c/linux/drivers/spi/spi-uniphier.c/linux/drivers/spi/spi-virtio.c/linux/drivers/spi/spi-wpcm-fiu.c/linux/drivers/spi/spi-xcomm.c/linux/drivers/spi/spi-xilinx.c/linux/drivers/spi/spi-xlp.c/linux/drivers/spi/spi-xtensa-xtfpga.c/linux/drivers/spi/spi.c/linux/include/linux/spi/spi-mem.h/linux/include/linux/spi/spi.hpwm.c/linux/rust/kernel/pwm.rs/linux/tools/spi/.gitignore |
| 0923fd04 | 10-Feb-2026 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'locking-core-2026-02-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar: "Lock debugging:
- Implement compiler-driven static analysis
Merge tag 'locking-core-2026-02-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar: "Lock debugging:
- Implement compiler-driven static analysis locking context checking, using the upcoming Clang 22 compiler's context analysis features (Marco Elver)
We removed Sparse context analysis support, because prior to removal even a defconfig kernel produced 1,700+ context tracking Sparse warnings, the overwhelming majority of which are false positives. On an allmodconfig kernel the number of false positive context tracking Sparse warnings grows to over 5,200... On the plus side of the balance actual locking bugs found by Sparse context analysis is also rather ... sparse: I found only 3 such commits in the last 3 years. So the rate of false positives and the maintenance overhead is rather high and there appears to be no active policy in place to achieve a zero-warnings baseline to move the annotations & fixers to developers who introduce new code.
Clang context analysis is more complete and more aggressive in trying to find bugs, at least in principle. Plus it has a different model to enabling it: it's enabled subsystem by subsystem, which results in zero warnings on all relevant kernel builds (as far as our testing managed to cover it). Which allowed us to enable it by default, similar to other compiler warnings, with the expectation that there are no warnings going forward. This enforces a zero-warnings baseline on clang-22+ builds (Which are still limited in distribution, admittedly)
Hopefully the Clang approach can lead to a more maintainable zero-warnings status quo and policy, with more and more subsystems and drivers enabling the feature. Context tracking can be enabled for all kernel code via WARN_CONTEXT_ANALYSIS_ALL=y (default disabled), but this will generate a lot of false positives.
( Having said that, Sparse support could still be added back, if anyone is interested - the removal patch is still relatively straightforward to revert at this stage. )
Rust integration updates: (Alice Ryhl, Fujita Tomonori, Boqun Feng)
- Add support for Atomic<i8/i16/bool> and replace most Rust native AtomicBool usages with Atomic<bool>
- Clean up LockClassKey and improve its documentation
- Add missing Send and Sync trait implementation for SetOnce
- Make ARef Unpin as it is supposed to be
- Add __rust_helper to a few Rust helpers as a preparation for helper LTO
- Inline various lock related functions to avoid additional function calls
WW mutexes:
- Extend ww_mutex tests and other test-ww_mutex updates (John Stultz)
Misc fixes and cleanups:
- rcu: Mark lockdep_assert_rcu_helper() __always_inline (Arnd Bergmann)
- locking/local_lock: Include more missing headers (Peter Zijlstra)
- seqlock: fix scoped_seqlock_read kernel-doc (Randy Dunlap)
- rust: sync: Replace `kernel::c_str!` with C-Strings (Tamir Duberstein)"
* tag 'locking-core-2026-02-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (90 commits) locking/rwlock: Fix write_trylock_irqsave() with CONFIG_INLINE_WRITE_TRYLOCK rcu: Mark lockdep_assert_rcu_helper() __always_inline compiler-context-analysis: Remove __assume_ctx_lock from initializers tomoyo: Use scoped init guard crypto: Use scoped init guard kcov: Use scoped init guard compiler-context-analysis: Introduce scoped init guards cleanup: Make __DEFINE_LOCK_GUARD handle commas in initializers seqlock: fix scoped_seqlock_read kernel-doc tools: Update context analysis macros in compiler_types.h rust: sync: Replace `kernel::c_str!` with C-Strings rust: sync: Inline various lock related methods rust: helpers: Move #define __rust_helper out of atomic.c rust: wait: Add __rust_helper to helpers rust: time: Add __rust_helper to helpers rust: task: Add __rust_helper to helpers rust: sync: Add __rust_helper to helpers rust: refcount: Add __rust_helper to helpers rust: rcu: Add __rust_helper to helpers rust: processor: Add __rust_helper to helpers ...
show more ...
|
| a9aabb3b | 10-Feb-2026 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'rust-6.20-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
Pull rust updates from Miguel Ojeda: "Toolchain and infrastructure:
- Add '__rust_helper' annotation to th
Merge tag 'rust-6.20-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
Pull rust updates from Miguel Ojeda: "Toolchain and infrastructure:
- Add '__rust_helper' annotation to the C helpers
This is needed to inline these helpers into Rust code
- Remove imports available via the prelude, treewide
This was possible thanks to a new lint in Klint that Gary has implemented -- more Klint-related changes, including initial upstream support, are coming
- Deduplicate pin-init flags
'kernel' crate:
- Add support for calling a function exactly once with the new 'do_once_lite!' macro (and 'OnceLite' type)
Based on this, add 'pr_*_once!' macros to print only once
- Add 'impl_flags!' macro for defining common bitflags operations:
impl_flags!( /// Represents multiple permissions. #[derive(Debug, Clone, Default, Copy, PartialEq, Eq)] pub struct Permissions(u32);
/// Represents a single permission. #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Permission { /// Read permission. Read = 1 << 0,
/// Write permission. Write = 1 << 1,
/// Execute permission. Execute = 1 << 2, } );
let mut f: Permissions = Permission::Read | Permission::Write; assert!(f.contains(Permission::Read)); assert!(!f.contains(Permission::Execute));
f |= Permission::Execute; assert!(f.contains(Permission::Execute));
let f2: Permissions = Permission::Write | Permission::Execute; assert!((f ^ f2).contains(Permission::Read)); assert!(!(f ^ f2).contains(Permission::Write));
- 'bug' module: support 'CONFIG_DEBUG_BUGVERBOSE_DETAILED' in the 'warn_on!' macro in order to show the evaluated condition alongside the file path:
------------[ cut here ]------------ WARNING: [val == 1] linux/samples/rust/rust_minimal.rs:27 at ... Modules linked in: rust_minimal(+)
- Add safety module with 'unsafe_precondition_assert!' macro, currently a wrapper for 'debug_assert!', intended to mark the validation of safety preconditions where possible:
/// # Safety /// /// The caller must ensure that `index` is less than `N`. unsafe fn set_unchecked(&mut self, index: usize, value: T) { unsafe_precondition_assert!( index < N, "set_unchecked() requires index ({index}) < N ({N})" );
... }
- Add instructions to 'build_assert!' documentation requesting to always inline functions when used with function arguments
- 'ptr' module: replace 'build_assert!' with a 'const' one
- 'rbtree' module: reduce unsafe blocks on pointer derefs
- 'transmute' module: implement 'FromBytes' and 'AsBytes' for inhabited ZSTs, and use it in Nova
- More treewide replacements of 'c_str!' with C string literals
'macros' crate:
- Rewrite most procedural macros ('module!', 'concat_idents!', '#[export]', '#[vtable]', '#[kunit_tests]') to use the 'syn' parsing library which we introduced last cycle, with better diagnostics
This also allows to support '#[cfg]' properly in the '#[vtable]' macro, to support arbitrary types in 'module!' macro (not just an identifier) and to remove several custom parsing helpers we had
- Use 'quote!' from the recently vendored 'quote' library and remove our custom one
The vendored one also allows us to avoid quoting '"' and '{}' inside the template anymore and editors can now highlight it. In addition, it improves robustness as it eliminates the need for string quoting and escaping
- Use 'pin_init::zeroed()' to simplify KUnit code
'pin-init' crate:
- Rewrite all procedural macros ('[pin_]init!', '#[pin_data]', '#[pinned_drop]', 'derive([Maybe]Zeroable)') to use the 'syn' parsing library which we introduced last cycle, with better diagnostics
- Implement 'InPlaceWrite' for '&'static mut MaybeUninit<T>'. This enables users to use external allocation mechanisms such as 'static_cell'
- Support tuple structs in 'derive([Maybe]Zeroable)'
- Support attributes on fields in '[pin_]init!' (such as '#[cfg(...)]')
- Add a '#[default_error(<type>)]' attribute to '[pin_]init!' to override the default error (when no '? Error' is specified)
- Support packed structs in '[pin_]init!' with '#[disable_initialized_field_access]'
- Remove 'try_[pin_]init!' in favor of merging their feature with '[pin_]init!'. Update the kernel's own 'try_[pin_]init!' macros to use the 'default_error' attribute
- Correct 'T: Sized' bounds to 'T: ?Sized' in the generated 'PinnedDrop' check by '#[pin_data]'
Documentation:
- Conclude the Rust experiment
MAINTAINERS:
- Add "RUST [RUST-ANALYZER]" entry for the rust-analyzer support. Tamir and Jesung will take care of it. They have both been active around it for a while. The new tree will flow through the Rust one
- Add Gary as maintainer for "RUST [PIN-INIT]"
- Update Boqun and Tamir emails to their kernel.org accounts
And a few other cleanups and improvements"
* tag 'rust-6.20-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux: (59 commits) rust: safety: introduce `unsafe_precondition_assert!` macro rust: add `impl_flags!` macro for defining common bitflag operations rust: print: Add pr_*_once macros rust: bug: Support DEBUG_BUGVERBOSE_DETAILED option rust: print: Add support for calling a function exactly once rust: kbuild: deduplicate pin-init flags gpu: nova-core: remove imports available via prelude rust: clk: replace `kernel::c_str!` with C-Strings MAINTAINERS: Update my email address to @kernel.org rust: macros: support `#[cfg]` properly in `#[vtable]` macro. rust: kunit: use `pin_init::zeroed` instead of custom null value rust: macros: rearrange `#[doc(hidden)]` in `module!` macro rust: macros: allow arbitrary types to be used in `module!` macro rust: macros: convert `#[kunit_tests]` macro to use `syn` rust: macros: convert `concat_idents!` to use `syn` rust: macros: convert `#[export]` to use `syn` rust: macros: use `quote!` for `module!` macro rust: macros: use `syn` to parse `module!` macro rust: macros: convert `#[vtable]` macro to use `syn` rust: macros: use `quote!` from vendored crate ...
show more ...
|
| 9b1b3dcd | 10-Feb-2026 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'pm-6.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki: "By the number of commits, cpufreq is the leading party (
Merge tag 'pm-6.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki: "By the number of commits, cpufreq is the leading party (again) and the most visible change there is the removal of the omap-cpufreq driver that has not been used for a long time (good riddance). There are also quite a few changes in the cppc_cpufreq driver, mostly related to fixing its frequency invariance engine in the case when the CPPC registers used by it are not in PCC. In addition to that, support for AM62L3 is added to the ti-cpufreq driver and the cpufreq-dt-platdev list is updated for some platforms. The remaining cpufreq changes are assorted fixes and cleanups.
Next up is cpuidle and the changes there are dominated by intel_idle driver updates, mostly related to the new command line facility allowing users to adjust the list of C-states used by the driver. There are also a few updates of cpuidle governors, including two menu governor fixes and some refinements of the teo governor, and a MAINTAINERS update adding Christian Loehle as a cpuidle reviewer. [Thanks for stepping up Christian!]
The most significant update related to system suspend and hibernation is the one to stop freezing the PM runtime workqueue during system PM transitions which allows some deadlocks to be avoided. There is also a fix for possible concurrent bit field updates in the core device suspend code and a few other minor fixes.
Apart from the above, several drivers are updated to discard the return value of pm_runtime_put() which is going to be converted to a void function as soon as everybody stops using its return value, PL4 support for Ice Lake is added to the Intel RAPL power capping driver, and there are assorted cleanups, documentation fixes, and some cpupower utility improvements.
Specifics:
- Remove the unused omap-cpufreq driver (Andreas Kemnade)
- Optimize error handling code in cpufreq_boost_trigger_state() and make cpufreq_boost_trigger_state() return -EOPNOTSUPP if no policy supports boost (Lifeng Zheng)
- Update cpufreq-dt-platdev list for tegra, qcom, TI (Aaron Kling, Dhruva Gole, and Konrad Dybcio)
- Minor improvements to the cpufreq and cpumask rust implementation (Alexandre Courbot, Alice Ryhl, Tamir Duberstein, and Yilin Chen)
- Add support for AM62L3 SoC to the ti-cpufreq driver (Dhruva Gole)
- Update arch_freq_scale in the CPPC cpufreq driver's frequency invariance engine (FIE) in scheduler ticks if the related CPPC registers are not in PCC (Jie Zhan)
- Assorted minor cleanups and improvements in ARM cpufreq drivers (Juan Martinez, Felix Gu, Luca Weiss, and Sergey Shtylyov)
- Add generic helpers for sysfs show/store to cppc_cpufreq (Sumit Gupta)
- Make the scaling_setspeed cpufreq sysfs attribute return the actual requested frequency to avoid confusion (Pengjie Zhang)
- Simplify the idle CPU time granularity test in the ondemand cpufreq governor (Frederic Weisbecker)
- Enable asym capacity in intel_pstate only when CPU SMT is not possible (Yaxiong Tian)
- Update the description of rate_limit_us default value in cpufreq documentation (Yaxiong Tian)
- Add a command line option to adjust the C-states table in the intel_idle driver, remove the 'preferred_cstates' module parameter from it, add C-states validation to it and clean it up (Artem Bityutskiy)
- Make the menu cpuidle governor always check the time till the closest timer event when the scheduler tick has been stopped to prevent it from mistakenly selecting the deepest available idle state (Rafael Wysocki)
- Update the teo cpuidle governor to avoid making suboptimal decisions in certain corner cases and generally improve idle state selection accuracy (Rafael Wysocki)
- Remove an unlikely() annotation on the early-return condition in menu_select() that leads to branch misprediction 100% of the time on systems with only 1 idle state enabled, like ARM64 servers (Breno Leitao)
- Add Christian Loehle to MAINTAINERS as a cpuidle reviewer (Christian Loehle)
- Stop flagging the PM runtime workqueue as freezable to avoid system suspend and resume deadlocks in subsystems that assume asynchronous runtime PM to work during system-wide PM transitions (Rafael Wysocki)
- Drop redundant NULL pointer checks before acomp_request_free() from the hibernation code handling image saving (Rafael Wysocki)
- Update wakeup_sources_walk_start() to handle empty lists of wakeup sources as appropriate (Samuel Wu)
- Make dev_pm_clear_wake_irq() check the power.wakeirq value under power.lock to avoid race conditions (Gui-Dong Han)
- Avoid bit field races related to power.work_in_progress in the core device suspend code (Xuewen Yan)
- Make several drivers discard pm_runtime_put() return value in preparation for converting that function to a void one (Rafael Wysocki)
- Add PL4 support for Ice Lake to the Intel RAPL power capping driver (Daniel Tang)
- Replace sprintf() with sysfs_emit() in power capping sysfs show functions (Sumeet Pawnikar)
- Make dev_pm_opp_get_level() return value match the documentation after a previous update of the latter (Aleks Todorov)
- Use scoped for each OF child loop in the OPP code (Krzysztof Kozlowski)
- Fix a bug in an example code snippet and correct typos in the energy model management documentation (Patrick Little)
- Fix miscellaneous problems in cpupower (Kaushlendra Kumar): * idle_monitor: Fix incorrect value logged after stop * Fix inverted APERF capability check * Use strcspn() to strip trailing newline * Reset errno before strtoull() * Show C0 in idle-info dump
- Improve cpupower installation procedure by making the systemd step optional and allowing users to disable the installation of systemd's unit file (João Marcos Costa)"
* tag 'pm-6.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (65 commits) PM: sleep: core: Avoid bit field races related to work_in_progress PM: sleep: wakeirq: harden dev_pm_clear_wake_irq() against races cpufreq: Documentation: Update description of rate_limit_us default value cpufreq: intel_pstate: Enable asym capacity only when CPU SMT is not possible PM: wakeup: Handle empty list in wakeup_sources_walk_start() PM: EM: Documentation: Fix bug in example code snippet Documentation: Fix typos in energy model documentation cpuidle: governors: teo: Refine intercepts-based idle state lookup cpuidle: governors: teo: Adjust the classification of wakeup events cpufreq: ondemand: Simplify idle cputime granularity test cpufreq: userspace: make scaling_setspeed return the actual requested frequency PM: hibernate: Drop NULL pointer checks before acomp_request_free() cpufreq: CPPC: Add generic helpers for sysfs show/store cpufreq: scmi: Fix device_node reference leak in scmi_cpu_domain_id() cpufreq: ti-cpufreq: add support for AM62L3 SoC cpufreq: dt-platdev: Add ti,am62l3 to blocklist cpufreq/amd-pstate: Add comment explaining nominal_perf usage for performance policy cpufreq: scmi: correct SCMI explanation cpufreq: dt-platdev: Block the driver from probing on more QC platforms rust: cpumask: rename methods of Cpumask for clarity and consistency ...
show more ...
|
| 4b6c6bc6 | 09-Feb-2026 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'vfs-7.0-rc1.rust' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs rust updates from Christian Brauner: "Allow inlining C helpers into Rust when using LTO: Add the __r
Merge tag 'vfs-7.0-rc1.rust' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull vfs rust updates from Christian Brauner: "Allow inlining C helpers into Rust when using LTO: Add the __rust_helper annotation to all VFS-related Rust helper functions.
Currently, C helpers cannot be inlined into Rust code even under LTO because LLVM detects slightly different codegen options between the C and Rust compilation units (differing null-pointer-check flags, builtin lists, and target feature strings). The __rust_helper macro is the first step toward fixing this: it is currently #defined to nothing, but a follow-up series will change it to __always_inline when compiling with LTO (while keeping it empty for bindgen, which ignores inline functions).
This picks up the VFS portion (fs, pid_namespace, poll) of a larger tree-wide series"
* tag 'vfs-7.0-rc1.rust' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: rust: poll: add __rust_helper to helpers rust: pid_namespace: add __rust_helper to helpers rust: fs: add __rust_helper to helpers
show more ...
|
| e741e19d | 05-Jan-2026 |
Alice Ryhl <aliceryhl@google.com> |
rust: workqueue: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-o
rust: workqueue: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Tejun Heo <tj@kernel.org> Link: https://patch.msgid.link/20260105-define-rust-helper-v2-26-51da5f454a67@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
show more ...
|
| 93ad1d73 | 05-Jan-2026 |
Alice Ryhl <aliceryhl@google.com> |
rust: uaccess: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off
rust: uaccess: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Link: https://patch.msgid.link/20260105-define-rust-helper-v2-23-51da5f454a67@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
show more ...
|
| 4890cd1d | 05-Jan-2026 |
Alice Ryhl <aliceryhl@google.com> |
rust: slab: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by
rust: slab: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patch.msgid.link/20260105-define-rust-helper-v2-19-51da5f454a67@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
show more ...
|
| ac585bf9 | 05-Jan-2026 |
Alice Ryhl <aliceryhl@google.com> |
rust: rbtree: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-
rust: rbtree: add __rust_helper to helpers
This is needed to inline these helpers into Rust code.
Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Alice Ryhl <aliceryhl@google.com> Link: https://patch.msgid.link/20260105-define-rust-helper-v2-15-51da5f454a67@google.com Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
show more ...
|