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

Reply via email to