On Mon, Sep 22, 2025 at 02:27:00PM +0200, [email protected] wrote: > > This is a note to let you know that I've just added the patch titled > > minmax: make generic MIN() and MAX() macros available everywhere > > to the 6.6-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > The filename of the patch is: > minmax-make-generic-min-and-max-macros-available-everywhere.patch > and it can be found in the queue-6.6 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <[email protected]> know about it. > > > >From [email protected] Mon Sep 22 12:35:15 2025 > From: Eliav Farber <[email protected]> > Date: Mon, 22 Sep 2025 10:32:30 +0000 > Subject: minmax: make generic MIN() and MAX() macros available everywhere > To: <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, <edu > [email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected] > p.org>, <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]>, > <[email protected]>, <[email protected]> > Cc: Linus Torvalds <[email protected]>, David Laight > <[email protected]>, Lorenzo Stoakes <[email protected]> > Message-ID: <[email protected]> > > From: Linus Torvalds <[email protected]> > > [ Upstream commit 1a251f52cfdc417c84411a056bc142cbd77baef4 ] > > This just standardizes the use of MIN() and MAX() macros, with the very > traditional semantics. The goal is to use these for C constant > expressions and for top-level / static initializers, and so be able to > simplify the min()/max() macros. > > These macro names were used by various kernel code - they are very > traditional, after all - and all such users have been fixed up, with a > few different approaches: > > - trivial duplicated macro definitions have been removed > > Note that 'trivial' here means that it's obviously kernel code that > already included all the major kernel headers, and thus gets the new > generic MIN/MAX macros automatically. > > - non-trivial duplicated macro definitions are guarded with #ifndef > > This is the "yes, they define their own versions, but no, the include > situation is not entirely obvious, and maybe they don't get the > generic version automatically" case. > > - strange use case #1 > > A couple of drivers decided that the way they want to describe their > versioning is with > > #define MAJ 1 > #define MIN 2 > #define DRV_VERSION __stringify(MAJ) "." __stringify(MIN) > > which adds zero value and I just did my Alexander the Great > impersonation, and rewrote that pointless Gordian knot as > > #define DRV_VERSION "1.2" > > instead. > > - strange use case #2 > > A couple of drivers thought that it's a good idea to have a random > 'MIN' or 'MAX' define for a value or index into a table, rather than > the traditional macro that takes arguments. > > These values were re-written as C enum's instead. The new > function-line macros only expand when followed by an open > parenthesis, and thus don't clash with enum use. > > Happily, there weren't really all that many of these cases, and a lot of > users already had the pattern of using '#ifndef' guarding (or in one > case just using '#undef MIN') before defining their own private version > that does the same thing. I left such cases alone. > > Cc: David Laight <[email protected]> > Cc: Lorenzo Stoakes <[email protected]> > Signed-off-by: Linus Torvalds <[email protected]> > Signed-off-by: Eliav Farber <[email protected]> > Signed-off-by: Greg Kroah-Hartman <[email protected]> > --- > arch/um/drivers/mconsole_user.c | 2 > drivers/edac/skx_common.h | 1 > drivers/gpu/drm/amd/display/modules/hdcp/hdcp_ddc.c | 2 > drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppevvmath.h | 14 > ++++-
Oops, nope, this patch breaks the amd driver's build :( I'll drop this patch and stop here on this patch series. Please fix this up and resend the remaining ones after it builds properly. thanks, greg k-h
