mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
rust: device: avoid trailing ; in printing macros
commit a19bda861b upstream.
These macros are used like expressions, so they should not emit a
semicolon. This is being turned into a hard error in a future release of
Rust.
error: trailing semicolon in macro used in expression position
--> drivers/gpu/nova-core/firmware/fsp.rs:79:34
|
79 | .inspect_err(|_| dev_err!(dev, "FMC firmware missing '{}' section\n", name))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: this error originates in the macro `dev_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[ I was doubly surprised since upstream made it a deny-by-default lint
a year ago for Rust 1.91.0, and yet we didn't see it; plus I hadn't
seen this in my CI even yesterday.
It turns out this just landed into today's nightly (nightly-2026-07-16,
using upstream commit d0babd8b6):
Link: https://github.com/rust-lang/rust/pull/159222
which says:
"The `semicolon_in_expressions_from_macros` lint previously
suppressed warnings about non-local macros. This masks
a lint that will subsequently become a hard error."
So that explains it. And this is the PR that will make it a hard error
at some point in the future:
Link: https://github.com/rust-lang/rust/pull/159218
Thus starting with Rust 1.99.0 (expected 2026-10-01), we will be
seeing the deny-by-default lint above, so clean it up already.
- Miguel ]
Cc: stable@vger.kernel.org # Needed in 6.18.y and later.
Link: https://github.com/rust-lang/rust/issues/79813
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://github.com/rust-lang/rust/pull/159218
Link: https://github.com/rust-lang/rust/pull/159222
Link: https://patch.msgid.link/20260716-device-trail-semicolon-v1-1-f48e9dcfae15@google.com
[ Fixed typo. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
[ Resolved conflict on `dev_printk` by not performing a similar cleanup
since it is not strictly needed. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e94e820df3
commit
aeebcfa823
@@ -625,7 +625,7 @@ macro_rules! dev_printk {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_emerg {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_emerg, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_emerg, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an alert-level message (level 1) prefixed with device information.
|
||||
@@ -651,7 +651,7 @@ macro_rules! dev_emerg {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_alert {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_alert, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_alert, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a critical-level message (level 2) prefixed with device information.
|
||||
@@ -677,7 +677,7 @@ macro_rules! dev_alert {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_crit {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_crit, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_crit, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an error-level message (level 3) prefixed with device information.
|
||||
@@ -703,7 +703,7 @@ macro_rules! dev_crit {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_err {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_err, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_err, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a warning-level message (level 4) prefixed with device information.
|
||||
@@ -729,7 +729,7 @@ macro_rules! dev_err {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_warn {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_warn, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_warn, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a notice-level message (level 5) prefixed with device information.
|
||||
@@ -755,7 +755,7 @@ macro_rules! dev_warn {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_notice {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_notice, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_notice, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an info-level message (level 6) prefixed with device information.
|
||||
@@ -781,7 +781,7 @@ macro_rules! dev_notice {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_info {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_info, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_info, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a debug-level message (level 7) prefixed with device information.
|
||||
@@ -807,5 +807,5 @@ macro_rules! dev_info {
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_dbg {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_dbg, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_dbg, $($f)*) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user